Python 如何使用正则表达式查找所有文本文件?

Python 如何使用正则表达式查找所有文本文件?,python,glob,Python,Glob,你好。 我使用glob.glob函数来获取我提供的路径上所有.txt文件的列表。 我正在以C:\build\*.txt的形式为函数提供正则表达式,但它只适用于根目录,我想在C:\build\中查找所有文本文件,例如C:\build\files\ha.txt 怎么可能呢? 谢谢。请注意,glob.glob将接受unix shell通配符,而不是regex对象(请参阅) 通过使用os.walk,您可以完成从所有子目录获取所有.txt文件的壮举。提供此类列表的方法可以如下所示: def get_all

你好。 我使用glob.glob函数来获取我提供的路径上所有.txt文件的列表。 我正在以
C:\build\*.txt
的形式为函数提供正则表达式,但它只适用于根目录,我想在C:\build\中查找所有文本文件,例如
C:\build\files\ha.txt

怎么可能呢?
谢谢。

请注意,
glob.glob
将接受unix shell通配符,而不是regex对象(请参阅)

通过使用
os.walk
,您可以完成从所有子目录获取所有
.txt
文件的壮举。提供此类列表的方法可以如下所示:

def get_all_txts_on_dir(path):
    import os
    ret = []
    for root, dir, files in os.walk(path):
        for name in files:
            if name.endswith('.txt'):
                ret.append(name)
    return ret

请注意,
glob.glob
将接受unix shell通配符,而不是regex对象(请参阅)

通过使用
os.walk
,您可以完成从所有子目录获取所有
.txt
文件的壮举。提供此类列表的方法可以如下所示:

def get_all_txts_on_dir(path):
    import os
    ret = []
    for root, dir, files in os.walk(path):
        for name in files:
            if name.endswith('.txt'):
                ret.append(name)
    return ret

glob
不使用正则表达式,它有一组简单得多的规则


另一种方法是使用
os.walk()
,并将标题与正则表达式匹配。

glob
不使用正则表达式,它有一组简单得多的规则

另一种方法是使用
os.walk()
并使用正则表达式执行标题匹配。

的可能副本