os模塊提供了對目錄或者文件的新建/刪除/查看文件屬性,還提供了對文件以及目錄的路徑操作。比如說:絕對路徑,父目錄…… os.sep可以取代操作系統特定的路徑分隔符。windows下為 “\\”,Linux下為"/" os.linesep字元串給出當前平臺使用的行終止符。例如,Windows使用'\ ...
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讀取