我們第一節(jié)課就講過了梧乘,Python是跨平臺的語言,也即是說同樣的源代碼在不同的操作系統(tǒng)不需要修改就可以同樣實現(xiàn)庐杨。
因此Python的作者就倒騰了OS模塊這么一個玩意兒出來选调,有了OS模塊,我們不需要關(guān)心什么操作系統(tǒng)下使用什么模塊灵份,OS模塊會幫你選擇正確的模塊并調(diào)用仁堪。
os模塊中關(guān)于文件/目錄常用的函數(shù)使用方法
函數(shù)名 使用方法
getcwd() 返回當前工作目錄
chdir(path) 改變工作目錄
listdir(path='.') 列舉指定目錄中的文件名('.'表示當前目錄,'..'表示上一級目錄)
mkdir(path) 創(chuàng)建單層目錄填渠,如該目錄已存在拋出異常
makedirs(path) 遞歸創(chuàng)建多層目錄弦聂,如該目錄已存在拋出異常,注意:'E:\a\b'和'E:\a\c'并不會沖突
remove(path) 刪除文件
rmdir(path) 刪除單層目錄氛什,如該目錄非空則拋出異常
removedirs(path) 遞歸刪除目錄莺葫,從子目錄到父目錄逐層嘗試刪除,遇到目錄非空則拋出異常
rename(old, new) 將文件old重命名為new
system(command) 運行系統(tǒng)的shell命令
walk(top) 遍歷top路徑以下所有的子目錄屉更,返回一個三元組:(路徑, [包含目錄], [包含文件])【具體實現(xiàn)方案請看:第30講課后作業(yè)_】
以下是支持路徑操作中常用到的一些定義徙融,支持所有平臺
os.curdir 指代當前目錄('.')
os.pardir 指代上一級目錄('..')
os.sep 輸出操作系統(tǒng)特定的路徑分隔符(Win下為'\',Linux下為'/')
os.linesep 當前平臺使用的行終止符(Win下為'\r\n'瑰谜,Linux下為'\n')
os.name 指代當前使用的操作系統(tǒng)(包括:'posix', 'nt', 'mac', 'os2', 'ce', 'java')
os.path模塊中關(guān)于路徑常用的函數(shù)使用方法
函數(shù)名 使用方法
basename(path) 去掉目錄路徑,單獨返回文件名
dirname(path) 去掉文件名树绩,單獨返回目錄路徑
join(path1[, path2[, ...]]) 將path1, path2各部分組合成一個路徑名
split(path) 分割文件名與路徑萨脑,返回(f_path, f_name)元組。如果完全使用目錄饺饭,它也會將最后一個目錄作為文件名分離渤早,且不會判斷文件或者目錄是否存在
splitext(path) 分離文件名與擴展名,返回(f_name, f_extension)元組
getsize(file) 返回指定文件的尺寸瘫俊,單位是字節(jié)
getatime(file) 返回指定文件最近的訪問時間(浮點型秒數(shù)鹊杖,可用time模塊的gmtime()或localtime()函數(shù)換算)
getctime(file) 返回指定文件的創(chuàng)建時間(浮點型秒數(shù)悴灵,可用time模塊的gmtime()或localtime()函數(shù)換算)
getmtime(file) 返回指定文件最新的修改時間(浮點型秒數(shù),可用time模塊的gmtime()或localtime()函數(shù)換算)
以下為函數(shù)返回 True 或 False
exists(path) 判斷指定路徑(目錄或文件)是否存在
isabs(path) 判斷指定路徑是否為絕對路徑
isdir(path) 判斷指定路徑是否存在且是一個目錄
isfile(path) 判斷指定路徑是否存在且是一個文件
islink(path) 判斷指定路徑是否存在且是一個符號鏈接
ismount(path) 判斷指定路徑是否存在且是一個掛載點
samefile(path1, paht2) 判斷path1和path2兩個路徑是否指向同一個文件