【问题标题】:Python: filename contains String (metachar?)Python:文件名包含字符串(元字符?)
【发布时间】:2016-07-17 14:57:19
【问题描述】:

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

我现在拥有的是:

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,我该如何让它工作?

【问题讨论】:

    标签: python contains metacharacters


    【解决方案1】:

    【讨论】:

    • 哈哈。现在只有当我引入一个 metachar 时我才能让它工作。如果子字符串类似于“exercise1”,则找不到它
    • 找到了。子字符串必须是 substring=" * "+substring+" * "
    【解决方案2】:

    您可以使用 glob。 非常方便,类似于Linux中的find命令。

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

    在多个子目录中搜索

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

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

    【讨论】:

      猜你喜欢
      • 2021-06-12
      • 2013-06-19
      • 1970-01-01
      • 1970-01-01
      • 2020-08-03
      • 2016-05-21
      • 1970-01-01
      • 2014-05-25
      • 2021-05-30
      相关资源
      最近更新 更多