您好,登錄后才能下訂單哦!
今天小編給大家分享一下python中的sys模塊和os模塊怎么用的相關知識點,內容詳細,邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。
sys模塊的常見函數列表:
sys.argv
: 實現從程序外部向程序傳遞參數。
sys.exit([arg])
: 程序中間的退出,arg=0為正常退出。
sys.getdefaultencoding()
: 獲取系統當前編碼,一般默認為ascii。
sys.setdefaultencoding()
: 設置系統默認編碼,執行dir(sys)時不會看到這個方法,在解釋器中執行不通過,可以先執行reload(sys),在執行 setdefaultencoding('utf8'),此時將系統默認編碼設置為utf8。(見設置系統默認編碼 )
sys.getfilesystemencoding()
: 獲取文件系統使用編碼方式,Windows下返回'mbcs',mac下返回'utf-8'.
sys.path
: 獲取指定模塊搜索路徑的字符串集合,可以將寫好的模塊放在得到的某個路徑下,就可以在程序中import時正確找到。
sys.platform
: 獲取當前系統平臺。
sys.stdin,sys.stdout,sys.stderr: stdin , stdout , 以及stderr 變量包含與標準I/O 流對應的流對象. 如果需要更好地控制輸出,而print 不能滿足你的要求, 它們就是你所需要的. 你也可以替換它們, 這時候你就可以重定向輸出和輸入到其它設備( device ), 或者以非標準的方式處理它們
import sys # 獲取一個值的應用計數 a = [11,22,33] b = a print(sys.getrefcount(a)) # python默認支持的遞歸數量 v1 = sys.getrecursionlimit() print(v1) #輸入輸出(兩個不會換行) sys.stdout.write("你好") sys.stdout.write("啊")
import sys # 獲取腳本路徑 print(sys.argv)
import sys # 循環輸出python,可以導入模塊的路徑 for i in sys.path: print(i)
import sys # 添加新的模塊導入路徑 sys.path.append('D:\\') # 在D:\\路徑下有一個qqq.py文件,可以導入使用了 import qqq
注意:模塊傳參數(讓用戶執行腳本傳入要刪除的文件路徑,在內部幫助用戶將目錄刪除。)
import sys import shutil # 獲取用戶執行腳本時,傳入的參數 path = sys.argv[1] # 刪除路徑目錄 shutil.rmtree(path)
執行過程:后面添加要刪除的目錄路徑
print補充:
# \n 換行 # \t 制表符 # \r 回到當前行的起始位置 print('123\r',end = '')# 打印完123,光標回到起始位置,又寫下面的456 print('456',end = '')
應用(進度條的百分比數值增長)
import time # 應用:在cmd中運行 for i in range(1,101): msg = "%s%%\r" %i print(msg,end = '') time.sleep(0.05)
os模塊提供了多數操作系統的功能接口函數。當os模塊被導入后,它會自適應于不同的操作系統平臺,根據不同的平臺進行相應的操作,在python編程時,經常和文件、目錄打交道,這時就離不了os模塊
import os # 獲取文件大小(字節) 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 # 在腳本路徑下創建名字為"wdc"的文件夾 os.mkdir('wdc')
import os # 創建嵌套文件夾 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): # 如果不存,則創建路徑 os.makedirs(file_folder) else: # 如果路徑存在則給出提示 print('目錄以及存在!')
重命名:
import os # 文件夾重命名(原名,新名) os.rename('wdc','qqq')
補充:轉義
# 前面加一個'r'起到轉義的作用,防止\n換行 qqq = r'E:\PyCharm\lol\n123.gif' print(qqq) # 雙斜杠也可以起的轉義的作用 qqq = 'E:\\PyCharm\\lol\\n123.gif' print(qqq)
補充:進度條讀寫文件
import os import time # 獲取文件大小(字節) 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個字節 f2.write(chunk) read_size = read_size + len(chunk) val = int(read_size / file_size * 100) # \r:下一次打印覆蓋上一次打印的內容 print('%s%%\r' %(val), end = '') time.sleep(0.01)
以上就是“python中的sys模塊和os模塊怎么用”這篇文章的所有內容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學習更多的知識,請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。