python打開文件夾下所有文件
A. python獲取指定目錄中的所有文件的名稱並保存到txt中
獲取指定目錄下的所有文件和文件夾(不遍歷子目錄):
使用os庫中的os.listdir()函數可以實現。例如:os.listdir('F:\\hexo'),這將返回指定目錄中的所有文件和文件夾名,但不包括子目錄。
獲取指定目錄下的所有文件和文件夾(遍歷子目錄):
要遍歷子目錄,可以使用os.walk()函數。例如:for dirpath, dirnames, filenames in os.walk('F:\\hexo'):
這將返回一個三元組,包含當前目錄的路徑、目錄名列表和當前目錄下的文件名列表,從而實現子目錄的遍歷。
篩選文件夾:
在遍歷子目錄時,可以通過判斷文件名是否以'\\'結尾來篩選文件夾。例如:for dirpath, dirnames, filenames in os.walk('F:\\hexo'): if dirpath[-1] == '\\': print(dirpath)
只需要文件(夾)名:
在獲取文件和文件夾名時,可以通過直接訪問列表來獲取。例如:filenames = os.listdir('F:\\hexo'),這將返回一個包含當前目錄下所有文件和文件夾名的列表。
保存到Txt:
獲取到文件和文件夾名後,可以使用with open('F:\\dir.txt', 'w') as f: for name in filenames:
這將打開名為'dir.txt'的文件,並將列表中的每一個元素寫入文件,實現保存功能。
如果不需要遍歷子目錄,直接使用DOS命令更快。以F:\\hexo為例,打開CMD,輸入dir /a-d /b F:\\hexo,即可顯示所有文件和文件夾名。
查詢更多參數:查閱os庫文檔,了解os.listdir()、os.walk()等函數的詳細用法和參數,以滿足更多需求。
B. 用Python遍歷指定文件夾下所有文件
使用Python遍歷指定文件夾下所有文件,主要依賴於os.walk(folder)函數。假設我們有一個名為base的文件夾,包含4個文件和兩個子文件夾,子文件夾中各含3個文件。現在我們想獲取該文件夾及其子文件夾中的所有文件名稱。
基本操作:遍歷base文件夾中的所有文件名稱。
示例腳本運行結果展示。
雖然獲取了文件名稱,但未包含路徑信息,無法直接打開文件。因此,需對遍歷結果稍作修改。
示例腳本運行結果展示。
此時,即可在腳本中進行文件操作。
若需找出特定類型的文件,如所有Excel文件(後綴名.xls),可用正則表達式簡化匹配邏輯。
實例腳本運行結果展示。
對於特定文件名匹配需求,如找出包含數字的文件名,正則表達式同樣適用。
實例腳本運行結果展示。
關於for root, ds, fs in os.walk(base):的解釋,os.walk(base)返回可迭代對象,用於循環遍歷文件夾結構。每次循環返回一個元組,包含root(當前路徑)、ds(當前路徑下的子文件夾列表)和fs(當前路徑下的文件列表)。
os.walk(base)過程直觀,遍歷結構簡單明了。ds變數主要用於文件夾名稱,除非需要額外操作,否則通常不使用。
以上內容適用於Python文件操作基礎,希望對您的文件管理任務有所幫助。