python中的sys模塊和os模塊
1.sys模塊
sys模塊的常見函數(shù)列表:
sys.argv: 實現(xiàn)從程序外部向程序傳遞參數(shù)。sys.exit([arg]): 程序中間的退出,arg=0為正常退出。sys.getdefaultencoding(): 獲取系統(tǒng)當前編碼,一般默認為ascii。sys.setdefaultencoding(): 設(shè)置系統(tǒng)默認編碼,執(zhí)行dir(sys)時不會看到這個方法,在解釋器中執(zhí)行不通過,可以先執(zhí)行reload(sys),在執(zhí)行 setdefaultencoding('utf8'),此時將系統(tǒng)默認編碼設(shè)置為utf8。(見設(shè)置系統(tǒng)默認編碼 )sys.getfilesystemencoding(): 獲取文件系統(tǒng)使用編碼方式,Windows下返回'mbcs',mac下返回'utf-8'.sys.path: 獲取指定模塊搜索路徑的字符串集合,可以將寫好的模塊放在得到的某個路徑下,就可以在程序中import時正確找到。sys.platform: 獲取當前系統(tǒng)平臺。- sys.stdin,sys.stdout,sys.stderr: stdin , stdout , 以及stderr 變量包含與標準I/O 流對應(yīng)的流對象. 如果需要更好地控制輸出,而print 不能滿足你的要求, 它們就是你所需要的. 你也可以替換它們, 這時候你就可以重定向輸出和輸入到其它設(shè)備( device ), 或者以非標準的方式處理它們
import sys
# 獲取一個值的應(yīng)用計數(shù)
a = [11,22,33]
b = a
print(sys.getrefcount(a))
# python默認支持的遞歸數(shù)量
v1 = sys.getrecursionlimit()
print(v1)
#輸入輸出(兩個不會換行)
sys.stdout.write("你好")
sys.stdout.write("啊")import sys # 獲取腳本路徑 print(sys.argv)
import sys # 循環(huán)輸出python,可以導(dǎo)入模塊的路徑 for i in sys.path: ? ? print(i)
import sys
# 添加新的模塊導(dǎo)入路徑
sys.path.append('D:\\')
# 在D:\\路徑下有一個qqq.py文件,可以導(dǎo)入使用了
import qqq注意:模塊傳參數(shù)(讓用戶執(zhí)行腳本傳入要刪除的文件路徑,在內(nèi)部幫助用戶將目錄刪除。)
import sys import shutil # 獲取用戶執(zhí)行腳本時,傳入的參數(shù) path = sys.argv[1] # 刪除路徑目錄 shutil.rmtree(path)
執(zhí)行過程:后面添加要刪除的目錄路徑

print補充:
# \n 換行
# \t 制表符
# \r 回到當前行的起始位置
print('123\r',end = '')# 打印完123,光標回到起始位置,又寫下面的456
print('456',end = '')應(yīng)用(進度條的百分比數(shù)值增長)
import ?time # 應(yīng)用:在cmd中運行 for i in range(1,101): ? ? msg = "%s%%\r" %i ? ? print(msg,end = '') ? ? time.sleep(0.05)
2.os模塊(和操作系統(tǒng)相關(guān)數(shù)據(jù))
os模塊提供了多數(shù)操作系統(tǒng)的功能接口函數(shù)。當os模塊被導(dǎo)入后,它會自適應(yīng)于不同的操作系統(tǒng)平臺,根據(jù)不同的平臺進行相應(yīng)的操作,在python編程時,經(jīng)常和文件、目錄打交道,這時就離不了os模塊
import os
# 獲取文件大?。ㄗ止?jié))
file_size= os.stat('123.gif').st_size
print(file_size)import os
# 判斷路徑是否存在,如果存在返回True,否則返回False
qqq = os.path.exists('D:11231')
print(qqq)import os qqq = '123.gif' # 傳遞一個相對路徑可以獲取絕對路徑 v1 = os.path.abspath(qqq) print(v1)
import os qqq = r'E:\PyCharm\lol\123.gif' # 可以獲取路徑的上一級目錄 v = os.path.dirname(qqq) print(v)
import os qqq = 'E:\PyCharm\lol' www = '123.txt' # 路徑拼接 result = os.path.join(qqq,www) result1 = os.path.join(qqq,'456.txt') print(result) print(result1)
import os # 顯示路徑下的全部的文件(一層) qqq = os.listdir(r'E:\PyCharm\lol\move1') print(qqq)
import os qqq = os.walk(r'E:\PyCharm\lol') for a,b,c in qqq: ? ? # a:真正查看的目錄 b:此目錄下的文件夾 c:此目錄下的文件 ? ? print(a,b,c) --------------------------------------------------- import os # 顯示路徑下的全部的文件(所有層) qqq = os.walk(r'E:\PyCharm\lol') for a,b,c in qqq: ? ? for i in c: ? ? ? ? path = os.path.join(a,i) ? ? ? ? print(path)
生成文件夾:
import os
# 在腳本路徑下創(chuàng)建名字為"wdc"的文件夾
os.mkdir('wdc')import os # 創(chuàng)建嵌套文件夾 os.makedirs(r'yhf\wdc\www')
import os
file_path = r'wdc\yhf\www.txt'
# 獲取路徑目錄
file_folder = os.path.dirname(file_path)
# 判斷路徑是否存在
if not os.path.exists(file_folder):
? ? # 如果不存,則創(chuàng)建路徑
? ? os.makedirs(file_folder)
else:
? ? # 如果路徑存在則給出提示
? ? print('目錄以及存在!')重命名:
import os
# 文件夾重命名(原名,新名)
os.rename('wdc','qqq')補充:轉(zhuǎn)義
# 前面加一個'r'起到轉(zhuǎn)義的作用,防止\n換行 qqq = r'E:\PyCharm\lol\n123.gif' print(qqq) # 雙斜杠也可以起的轉(zhuǎn)義的作用 qqq = 'E:\\PyCharm\\lol\\n123.gif' print(qqq)
補充:進度條讀寫文件
import os
import time
# 獲取文件大小(字節(jié))
file_size= os.stat('123.gif').st_size
print(file_size)
# 一點一點讀取文件
read_size = 0
with open('123.gif',mode = 'rb') as f1,open('a.png',mode = 'wb') as f2:
? ? while read_size < file_size:
? ? ? ? chunk = f1.read(2) #每次讀8個字節(jié)
? ? ? ? f2.write(chunk)
? ? ? ? read_size = read_size + len(chunk)
? ? ? ? val = int(read_size / file_size * 100)
# \r:下一次打印覆蓋上一次打印的內(nèi)容
? ? ? ? print('%s%%\r' %(val), end = '')
? ? ? ? time.sleep(0.01)到此這篇關(guān)于python中的sys模塊和os模塊的文章就介紹到這了,更多相關(guān)python模塊內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python創(chuàng)建普通菜單示例【基于win32ui模塊】
這篇文章主要介紹了Python創(chuàng)建普通菜單,結(jié)合實例形式分析了Python基于win32ui模塊創(chuàng)建普通菜單及添加菜單項的相關(guān)操作技巧,并附帶說明了win32ui模塊的安裝命令,需要的朋友可以參考下2018-05-05
Python3中對json格式數(shù)據(jù)的分析處理
這篇文章主要介紹了Python3中對json格式數(shù)據(jù)的分析處理,本文給大家介紹的非常詳細,對大家的學(xué)習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-01-01
Python實現(xiàn)Excel表格轉(zhuǎn)置與翻譯工具
本文主要介紹如何使用Python編寫一個GUI程序,能夠讀取Excel文件,將第一個列的數(shù)據(jù)轉(zhuǎn)置,并將英文內(nèi)容翻譯成中文,有需要的小伙伴可以參考一下2024-10-10
Python使用sort和class實現(xiàn)的多級排序功能示例
這篇文章主要介紹了Python使用sort和class實現(xiàn)的多級排序功能,涉及Python基于面向?qū)ο蟮脑乇闅v、列表排序、添加等相關(guān)操作技巧,需要的朋友可以參考下2018-08-08
pytorch transform數(shù)據(jù)處理轉(zhuǎn)c++問題
這篇文章主要介紹了pytorch transform數(shù)據(jù)處理轉(zhuǎn)c++問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-02-02

