我有一个大文件夹,其中有很多子文件夹。每个子文件夹中还可以包含一些子文件夹(数量可以不同)。这在某些层面上持续存在。最后,有一个文本文件。如何制作一个 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
提交
取消