os模組提供了目錄或檔案的新建/刪除/檢視檔案屬性,也提供了檔案以及目錄的路徑操作。比如說:絕對路徑,父目錄…
os.sep
可以取代作業系統特定的路徑分隔符號。 windows下為 “\”,Linux下為"/"
os.linesep
字串給出目前平台使用的行終止符。例如,Windows使用'rn',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讀取