os模組提供了對目錄或者檔案的建立/刪除/查看檔案屬性,還提供了對檔案以及目錄的路徑操作。比如說:絕對路徑,父目錄……
os.sep可以取代作業系統特定的路徑分隔字元。windows下為 “\\”,Linux下為"/"
os.linesep字串給出當前平台使用的行終止符。例如,Windows使用'\r\n',Linux使用'\n'而Mac使用'\r'。
os.pathsep 輸出用於分割檔案路徑的字串,系統使用此字元來分割搜尋路徑(像PATH),例如POSIX上':',Windows上的';'
os.getcwd() 擷取當前工作目錄,即當前python指令碼工作的目錄路徑
os.chdir("dirname") 改變當前指令碼工作目錄;相當於shell下cd
os.curdir 返回目前的目錄: ('.')
os.pardir 擷取目前的目錄的父目錄字元串名:('..')
os.mkdir('dirname') 產生單級目錄;相當於shell中mkdir dirname
os.makedirs('dirname1/dirname2') 可產生多層遞迴目錄
os.remove(file) 刪除一個檔案
os.removedirs('dirname1') 若目錄為空白,則刪除,並遞迴到上一級目錄,如若也為空白,則刪除,依此類推
os.rmdir('dirname') 刪除單級空目錄,若目錄不為空白則無法刪除,報錯;相當於shell中rmdir dirname
os.listdir('dirname') 列出指定目錄下的所有檔案和子目錄,包括隱藏檔案,並以列表方式列印
os.rename("oldname","newname") 重新命名檔案/目錄,如果newname存在則替換出現錯誤
os.replace(src,dest) 重新命名檔案/目錄,如果dest表示的是檔案,存在則覆蓋原來的檔案,不報錯;若是目錄,存在則會報錯
os.chmod(path, mode, *, dir_fd=None, follow_symlinks=True)
Ex:os.chmod('C:\\my_share_file\\test.sh',755)
os.stat('path/filename') 擷取檔案/目錄資訊
os.utime(path,times) 修改時間屬性 times是個元組,(atime,mtime),這兩個時間數可以通過os.stat擷取
os.walk(top[, topdown=True[, onerror=None[, followlinks=False]]])
1.top表示需要遍曆的分類樹的路徑
2.topdown的預設值是”True”,表示首先返回分類樹下的檔案,然後在遍曆分類樹的子目錄.Topdown的值為”False”時,
則表示先遍曆分類樹的子目錄,返回子目錄下的檔案,最後返回根目錄下的檔案
3.onerror的預設值是”None”,表示忽略檔案遍曆時產生的錯誤.如果不為空白,則提供一個自訂函數提示錯誤資訊後繼續遍曆或拋出異常中止遍曆
該函數返回一個元組,該元組有3個元素,這3個元素分別表示當前遍曆的目錄,當前遍曆的目錄列表,當前遍曆的目錄的檔案清單
os.walk()舉例:
>>> import os>>> for root, dirs, files in os.walk("wd/chat", topdown=False):... for name in files:... print(os.path.join(root, name)) #列印檔案絕對路徑... for name in dirs:... print(os.path.join(root, name)) #列印目錄絕對路徑
os.name字串指示你正在使用的平台。比如對於Windows,它是'nt',而對於Linux/Unix使用者,它是'posix'。
os.getenv()擷取一個環境變數,如果沒有返回none
os.putenv(key, value)設定一個環境變數值
os.environ[]擷取環境變數的值 兩者等價:os.environ[‘HOME'] <->os.getenv(‘HOME')
os.system(command)函數用來運行shell命令。
os.popen("bash command") 運行shell命令,產生對象,可賦給變數,再用read讀取