一、 os.listdir()方法簡介
Python提供了os模塊來進行文件和目錄操作。其中,os.listdir()方法用於返迴路徑下的所有文件和目錄名(除了’.’和’..’及其他隱藏文件外),返回結果為列表類型。
其語法如下:
import os fileList = os.listdir(path)
其中,path為待遍歷的路徑,可以是相對路徑或絕對路徑;fileList返回遍歷到的文件列表。
二、 使用os.listdir()方法進行文件遍歷
Python文件遍歷程序的實現一般包括以下步驟:
1. 獲取待遍歷的路徑。
2. 遞歸地遍歷目錄中的所有文件。
3. 判斷文件是否是目錄,如果是目錄,則進入該目錄進行遞歸調用,直到遍歷完畢。
4. 如果文件不是目錄,則進行相應的處理,比如輸出文件名、文件路徑、文件大小等。
下面給出一個示常式序,實現從指定路徑遞歸遍歷目錄,輸出所有文件及其路徑:
import os def dirList(path): # 獲取該目錄下所有文件和目錄名 listFile = os.listdir(path) for fileName in listFile: # 獲取文件或目錄的路徑 fileAbsPath = os.path.join(path, fileName) # 判斷該路徑是否是目錄 if os.path.isdir(fileAbsPath): # 遞歸調用函數 dirList(fileAbsPath) else: # 輸出文件路徑及名稱 print(fileAbsPath) # 指定待遍歷的文件路徑 dirList("/home/myfiles")
該程序首先獲取指定路徑下的所有文件和目錄名,然後逐一進行遍歷。如果是目錄,則遞歸調用dirList()函數;如果不是目錄,則將該文件的路徑和名稱輸出。程序運行結果如下:
/home/myfiles/helloworld.py /home/myfiles/test1.txt /home/myfiles/abc.txt /home/myfiles/test2.txt
三、細節注意事項
1. 使用os.listdir()方法遍歷目錄時,可能存在許可權問題,無法讀取某些文件或目錄。此時,可以使用os.access()方法來判斷是否具有訪問許可權。
2. 遍歷過程中通常需要排除隱藏文件。方法是使用os.path.join()方法來拼接路徑,在路徑中加入’.’, ‘..’, ‘.DS_Store’等需要忽略的文件名。
3. 如果遍歷目錄中有文件或目錄名過長,可能會引起路徑拼接錯誤或其他異常。此時需要考慮遍歷的深度或修改文件名。
四、總結
Python的os模塊提供了多種方法用於文件和目錄的操作,包括路徑拼接、遍歷目錄、讀寫文件等功能。使用os.listdir()方法可以輕鬆實現對指定路徑下的所有文件和目錄的遍歷,進而進行文件批量處理等操作。
原創文章,作者:QUDU,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/133348.html