为了账号安全,请及时绑定邮箱和手机立即绑定

扫描目录以列出所有文件的名称

扫描目录以列出所有文件的名称

慕丝7291255 2023-12-20 19:56:47
我有一个大文件夹,其中有很多子文件夹。每个子文件夹中还可以包含一些子文件夹(数量可以不同)。这在某些层面上持续存在。最后,有一个文本文件。如何制作一个 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']


查看完整回答
反对 回复 2023-12-20
  • 1 回答
  • 0 关注
  • 95 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信