os模塊提供了非常豐富的方法用來處理文件和目錄。下面只介紹下我編程經常遇到的用法。
一、獲取指定文件夾下的文件名:os.walk()和os.listdir()兩種方法。
(1)os.walk()
模塊os中的walk()函數可以遍歷文件夾下所有的文件。
os.walk(top, topdown=Ture, onerror=None, followlinks=False)
1、top—是你所要遍歷的目錄的地址, 返回的是一個三元組(root,dirs,files)。
root所指的是當前正在遍歷的這個文件夾的本身的地址
dirs是一個list,內容是該文件夾中所有的目錄的名字(不包括子目錄)
files同樣是 list,內容是該文件夾中所有的文件(不包括子目錄)
topdown --可選,為 True,則優先遍歷top目錄,否則優先遍歷top的子目錄(默認為開啟)。如果topdown參數為True,walk會遍歷top文件夾,與top文件夾中每一個子目錄。
2、onerror—可選,需要一個 callable 對象,當 walk 需要異常時,會調用。
3、ollowlinks—可選,如果為 True,則會遍歷目錄下的快捷方式(linux 下是軟連接 symbolic link )實際所指的目錄(默認關閉),如果為 False,則優先遍歷 top 的子目錄。
(2)os.listdir()
os.listdir(path),列舉目錄下的所有文件。返回的是列表類型。函數得到的是僅當前路徑下的文件名,不包括子目錄中的文件,所有需要使用遞歸的方法得到全部文件名。
二、查看路徑:os.path
os.getcwd():查看當前所在路徑
os.path.abspath(path):返回path的絕對路徑。
os.path.split(path):將路徑分解為(文件夾,文件名),返回的是元組類型。
os.path.join( ) ##指定路徑
os.path.dirname(path):返回path中的文件夾部分,結果不包含'\'
os.path.basename(path):返回path中的文件名
三、創建目錄和文件:os.mkdir() 和 os.mknod(),以及分離目錄名和文件名
os.path.basename() ##獲取文件名
os.path.dirname() ##獲取目錄名
os.mkdir ##創建單個目錄
os.makedirs ##創建子目錄
os.rmdir ##刪除目錄
os.mknod('hello.txt') ##創建文件
os.remove('hello.txt') ##刪除文件
os.rename('data.txt','data1.txt') ——(原文件名,重命名文件名)
os.path.exists()——判斷文件或者目錄存在
os.path.splitext——分離后綴名和文件名
os.path.split——將目錄名與文件名分離
日期:2020-02-06 時間:21:57:53
