介紹
在進行數據分析、機器學習等項目中,經常需要從文件夾中獲取文件列表進行數據處理。使用Python可以輕鬆實現獲取特定文件夾中的文件列表,提高項目的自動化程度。
基礎方法
os模塊獲取文件列表
Python的標準庫中包含了操作系統相關的模塊,其中os模塊提供了訪問文件系統的功能。使用os模塊中的listdir()函數可以獲取指定路徑中的所有文件和文件夾,返回一個列表。
import os
folder_path = "/path/to/folder" # 文件夾路徑
file_list = os.listdir(folder_path) # 獲取文件夾中的文件列表
print(file_list) # 打印文件名列表
運行以上代碼,會輸出指定文件夾中的所有文件和文件夾的名稱。
glob模塊篩選特定文件
os模塊可以獲取全部的文件列表,但如果需要篩選特定類型的文件,可以使用glob模塊。glob模塊提供了通配符匹配文件名的功能,方便地獲取指定類型的文件。
import glob
folder_path = "/path/to/folder" # 文件夾路徑
file_type = "*.csv" # 文件類型為csv
file_list = glob.glob(folder_path + "/" + file_type) # 獲取指定類型的文件列表
print(file_list) # 打印文件名列表
運行以上代碼,會輸出指定文件夾中類型為csv的所有文件名。
進階方法
遍歷文件夾
如果需要獲取指定文件夾及其子文件夾中的所有文件列表,可以使用os.walk()函數遍歷文件夾。os.walk()函數返回一個三元組,包含當前文件夾、當前文件夾中的文件夾名列表和文件名列表。可以使用for循環遍歷獲取所需的文件名。
import os
folder_path = "/path/to/folder" # 文件夾路徑
file_list = [] # 所有文件列表
for root, dirs, files in os.walk(folder_path): # 遍歷文件夾
for file in files:
file_list.append(os.path.join(root, file)) # 將文件的絕對路徑加入到列表中
print(file_list) # 打印文件名列表
運行以上代碼,會輸出指定文件夾及其子文件夾中的所有文件名。
按文件大小排序
在處理大量文件時,按照文件大小排序可以方便地找出文件大小異常的文件。使用os.path.getsize()函數可以獲取文件大小,使用sorted()函數可以按文件大小排序。
import os
folder_path = "/path/to/folder" # 文件夾路徑
file_list = [] # 所有文件列表
for root, dirs, files in os.walk(folder_path): # 遍歷文件夾
for file in files:
file_list.append(os.path.join(root, file)) # 將文件的絕對路徑加入到列表中
file_list_sorted = sorted(file_list, key=os.path.getsize) # 按文件大小排序
print(file_list_sorted) # 打印文件名列表
運行以上代碼,會輸出指定文件夾及其子文件夾中的所有文件名,並按文件大小進行排序。
總結
Python提供了多種方法獲取文件列表,可以根據具體需求和文件路徑靈活組合使用。獲取文件列表可以提高項目的自動化程度,減少手動處理的時間和錯誤。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/228825.html