在Python 中使用os.walk() 遞歸遍歷目錄:詳細指南
簡介
Python 的os.walk()函數提供了一個強大的機制來遞歸遍歷目錄樹。它會迭代指定目錄中的所有目錄和文件,使其成為文件管理和目錄探索等任務的重要工具。
問題:自訂目錄清單輸出
為了示範os.walk() 的功能,請考慮以下場景:您想要從根目錄遞歸導覽並列印自訂的目錄和檔案列表,包括嵌套層級。
初始程式碼和O/P
使用以下程式碼:
import os import fnmatch for root, dir, files in os.walk("."): print(root) print("") for items in fnmatch.filter(files, "*"): print("..." + items) print("")
你得到以下輸出:
. ...Python_Notes ...pypy.py ...pypy.py.save ...classdemo.py ....goutputstream-J9ZUXW ...latest.py ...pack.py ...classdemo.pyc ...Python_Notes~ ...module-demo.py ...filetype.py ./packagedemo ...classdemo.py ...__init__.pyc ...__init__.py ...classdemo.pyc
A ---a.txt ---b.txt ---B ------c.out
解
要自訂輸出,需要一種改良的方法。以下程式碼實現了所需的格式:import os # traverse root directory, and list directories as dirs and files as files for root, dirs, files in os.walk("."): path = root.split(os.sep) print((len(path) - 1) * '---', os.path.basename(root)) for file in files: print(len(path) * '---', file)
說明
此程式碼使用下列邏輯:輸出
使用此改良的程式碼,您可以將得到所需的輸出:A ---a.txt ---b.txt ---B ------c.out
以上是如何自訂 Python os.walk() 函數的輸出以建立巢狀目錄清單?的詳細內容。更多資訊請關注PHP中文網其他相關文章!