python - python 中的 glob 函数,带有一个通配符

标签 python glob

我在使用 Python 中的 glob.glob 函数时遇到问题。

这条线非常适合我在 Models 的两个后续文件夹中获取名为 002 的所有文本文件:

     All_txt    = glob.glob("C:\Users\EDV\Desktop\Peter\Models\*\*\002.txt")

但是进入一个子文件夹并询问相同的问题:

     All_txt    = glob.glob('C:\Users\EDV\Desktop\Peter\Models\Texte\*\002.txt')

结果是一个空列表。有谁知道这里的问题是什么(或者知道另一个表达相同问题的函数)?

我仔细检查了文件夹路径,并且所有文件夹都包含这些文本文件。

最佳答案

尝试在字符串前面放置一个 r 来生成原始字符串:glob.glob(r'C:\Users\EDV\Desktop\Peter\Models\Texte\*\002.txt')。这将使反斜杠不用于转义下一个字符。

你也可以不使用 glob 来完成它,如下所示:

import os
all_txt = []
root = r'C:\Users\EDV\Desktop\Peter\Models\Texte'
for d in os.listdir(root):
    abs_d = os.path.join(root, d)
    if os.path.isdir(abs_d):
        txt = os.path.join(abs_d, '002.txt')
        if os.path.isfile(txt):
            all_txt.append(txt)

关于python - python 中的 glob 函数,带有一个通配符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30030518/

相关文章:

c++ - Unix系统上C++中的简单glob?

javascript - 如何在 React 中通配符

python - 如何提取在 python 中渲染 HTML 页面期间获得的 url 列表?

python - 运行 django 本地服务器而不是在 shell 别名中打开 chrome 页面

node.js - 如何使用 chokidar 忽略子目录中的文件

javascript - 如何在 fs.existsSync 或 statSync 或 readFileSync 内部使用通配符

python - Pylint 与 Django

python - 过滤 Pandas 数据框

python - 在 Pandas 中如何根据另一行中的另一列值更新一行中的列值

python - tensorflow 2中单个矩阵的按位运算