一、遍歷文件夾
Python os.walk() 方法用於通過在目錄樹中遊走輸出在目錄中的文件名,向上或者向下。
我們可以通過此方法來實現遍歷某個指定文件夾,將文件夾中的所有文件和子文件夾名稱輸出,代碼示例:
import os def traverse(folder_path): for root, dirs, files in os.walk(folder_path): for dir in dirs: print(os.path.join(root, dir)) for file in files: print(os.path.join(root, file)) folder_path = "C:/Users/Administrator/Desktop/test" traverse(folder_path)
os.walk() 方法會包含當前文件夾(根目錄)以及當前文件夾下的所有子文件夾。for 循環遍歷 root,dirs,files,分別獲取當前文件夾、子文件夾以及文件名列表。
os.path.join() 方法用於將文件路徑和文件名組合起來。這裡使用兩個 for 循環遍歷根目錄下的所有子文件夾和文件,輸出完整的路徑。
二、查找文件
os.walk() 可以通過設置過濾條件,進行查找指定文件名的操作。
代碼示例:
import os def searchFile(folder_path, file_name): for root, dirs, files in os.walk(folder_path): for file in files: if file == file_name: print(os.path.join(root, file)) folder_path = "C:/Users/Administrator/Desktop/test" file_name = "test.txt" searchFile(folder_path, file_name)
通過設置一個 file_name 變數,來確定需要查找的文件名,再使用 if 判斷語句來判斷當前文件名是否和查找的文件名相同。
三、查找文件夾
與查找文件類似,使用 os.walk() 方法同樣可以查找指定的文件夾。
代碼示例:
import os def searchFolder(folder_path, folder_name): for root, dirs, files in os.walk(folder_path): for dir in dirs: if dir == folder_name: print(os.path.join(root, dir)) folder_path = "C:/Users/Administrator/Desktop/test" folder_name = "sub_folder" searchFolder(folder_path, folder_name)
與查找文件相同,先設置一個變數 folder_name,再使用 if 判斷語句來判斷當前文件夾名稱是否和需要查找的文件夾名稱相同。
四、總結
Python os.walk() 方法可以方便地遍歷整個文件夾的所有文件和子文件夾,同時也可以根據條件進行查找指定的文件和文件夾。
以上是 os.walk() 方法使用的基礎示例,我們還可以在實際開發中根據自己的需求進行更複雜的操作,如篩選出指定格式的文件等。
原創文章,作者:ADVTW,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/331051.html