在Python 中遞歸讀取資料夾內容
在Python 中,嘗試遞歸遍歷目錄來讀取文字檔案時可能會遇到問題。一個常見的問題是程式碼只針對單一目錄層級起作用。
理解 os.walk 函數
Python 遞歸資料夾遍歷的核心在於 os .walk() 函數。它迭代指定的目錄及其子目錄,傳回三個值:root、subdirs 和 files。
最佳化資料夾遍歷
要遞歸遍歷目錄,您應該迭代os.walk() 傳回的子目錄清單。對於每個子目錄,您可以遞歸呼叫 os.walk() 來處理其內容。
改進的 Python 程式碼
可以修改範例程式碼以處理多個目錄層級:
import os
import sys
walk_dir = sys.argv[1]
for root, subdirs, files in os.walk(walk_dir):
for subdir in subdirs:
# Process subdirectory: call os.walk() recursively for subdir
for sub_subdir, sub_subfiles, _ in os.walk(os.path.join(root, subdir)):
# Process subdirectories and files in subdirectory
其他最佳實踐
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3