【问题标题】:Scanning a directory to list the name of all files [duplicate]扫描目录以列出所有文件的名称[重复]
【发布时间】:2021-02-05 10:10:18
【问题描述】:

我有一个很大的文件夹,里面有很多子文件夹。这些子文件夹中的每一个也可以有一些子文件夹(数量可以不同)。这持续了一些级别。最后,有一个文本文件。如何制作一个遍历整个目录并打印文本文件名称的python程序?简单来说,只要没有更多子目录,我就想在目录中导航?

【问题讨论】:

标签: python python-3.x file


【解决方案1】:

使用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']

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-07
    • 2015-10-06
    • 1970-01-01
    • 1970-01-01
    • 2011-04-19
    相关资源
    最近更新 更多