我有一個大文件夾,其中有很多子文件夾。每個子文件夾中還可以包含一些子文件夾(數量可以不同)。這在某些層面上持續存在。最后,有一個文本文件。如何制作一個 python 程序,盡可能深入地遍歷整個目錄并打印文本文件的名稱?簡單來說,我想在目錄中導航,只要沒有更多的子目錄?
1 回答

慕哥6287543
TA貢獻1831條經驗 獲得超10個贊
使用os.walk。
例如,創建一個像這樣的深層層次結構
$ mkdir -p a/b/c/d/e/f/g
$ touch a/b/c/d/e/f/g/h.txt
和跑步
import os
for dirname, dirnames, filenames in os.walk('.'):
for filename in filenames:
filepath = os.path.join(dirname, filename)
print(filepath)
產量
./a/b/c/d/e/f/g/h.txt
– 做你想做的事filepath。
如果您使用的是 Python 3.5 或更高版本(您可能應該使用),另一種選擇是glob.glob()使用遞歸模式:
>>> print(glob.glob("./**/*.txt", recursive=True))
['./a/b/c/d/e/f/g/h.txt']
添加回答
舉報
0/150
提交
取消