Python:filename包含String(metachar?)

时间:2016-03-29 20:43:45

标签: python contains metacharacters

我正在使用os.walk(目录)以递归方式显示该目录中的所有文件。 问题是我只需要在名称中显示包含问题字符串的文件,并且还必须管理元字符。

我现在拥有的是:

for root, subdirs, files in os.walk(dir1):
        for filename in files:
            if substring in filename:
                name_path = os.path.join(root,filename)
                list.insert(END, name_path)

这很好用,但如果substring = *,因为我没有包含'*'的文件,我的列表是空的。

那么,如果substring包含METACHAR,我该如何使其工作?

2 个答案:

答案 0 :(得分:9)

答案 1 :(得分:0)

您可以使用glob。 在Linux中查找命令非常方便并且类似。

import glob
glob.glob("/home/user/*.txt")

在多个子目录中搜索

glob.glob("/home/user/*/*.txt")

glob.glob("/home/user/logs?.txt")