python - 读取未知目录中的文件

标签 python linux wildcard directory-structure

我需要阅读和编辑几个文件,问题是我大致知道这些文件的位置,但不完全知道。

因此所有文件在不同的目录中都称为 QqTest.py。 我知道父目录叫做:

mdcArray = ['MDC0021','MDC0022','MDC0036','MDC0055','MDC0057'
            'MDC0059','MDC0061','MDC0062','MDC0063','MDC0065'
            'MDC0066','MDC0086','MDC0095','MDC0098','MDC0106'
            'MDC0110','MDC0113','MDC0114','MDC0115','MDC0121'
            'MDC0126','MDC0128','MDC0135','MDC0141','MDC0143'
            'MDC0153','MDC0155','MDC0158']

但在那之后还有另一个未知的子目录,其中包含 QqTest.txt

所以我需要从/MDC[number]/unknownDir/QqTest.txt 读取 QqTest.txt

所以我在 python 中读取文件的方式与在 bash 中的方式类似 即

/MDC0022/*/QqTest.txt

最佳答案

您可以使用名为 glob 的 Python 模块来执行此操作。它支持 Unix 风格的路径名模式扩展。

import glob
glob.glob("/MDC0022/*/QqTest.txt")

如果你想对列表中的所有项目都这样做,你可以试试这个。

for item in mdcArray:
    required_files = glob.glob("{0}/*/QqTest.txt".format(item))
    # process files here

Glob documentation

关于python - 读取未知目录中的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33823468/

相关文章:

asp.net - 在 web.sitemap 中使用 URL 通配符?

python - InvalidArgumentError : Input to reshape is a tensor with 178802 values, 但请求的形状有 89401

python - 尝试打开json文件的UnicodeDecodeError

c - 如何以编程方式检测 linux 中大写锁定的状态

linux - 在 bash 命令后立即读取多个参数

java - 来自 Java 的 Linux 命令

sitemap - sitemap.xml文件中是否允许使用通配符?

java - ?父类(super class)型 Java 泛型

python - 使用正则表达式 re.search 和 re.compile 的问题

python - 在列表理解中使用 OR