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

慕哥6287543
TA貢獻(xiàn)1831條經(jīng)驗(yàn) 獲得超10個(gè)贊
使用os.walk。
例如,創(chuàng)建一個(gè)像這樣的深層層次結(jié)構(gòu)
$ 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)
產(chǎn)量
./a/b/c/d/e/f/g/h.txt
– 做你想做的事filepath。
如果您使用的是 Python 3.5 或更高版本(您可能應(yīng)該使用),另一種選擇是glob.glob()使用遞歸模式:
>>> print(glob.glob("./**/*.txt", recursive=True))
['./a/b/c/d/e/f/g/h.txt']
添加回答
舉報(bào)
0/150
提交
取消