没有用fnmatch列出regex中指定的文件。

问题描述 投票:0回答:1

我试图在我的目录中只列出指定的文件,但得到的结果只是空的。当我用regex tester检查预期结果时(https:/regex101.com),我得到了预期的结果。

enter image description here

但在python代码中,我什么也看不到。

我尝试了一些其他的regex字符串组合,但没有任何帮助。但我可以列出整个目录。

我是不是做错了什么?这看起来是很简单的解决方案,那么我缺少什么呢?

代码在这里。

import os
import fnmatch

directory = 'output/'

for filename in os.listdir(directory):
    if fnmatch.fnmatch(filename, '^[20]+[0-9]+\.xlsx$'):
        print(filename)

你能不能看一下,给我一些提示?

獶盽稰谅

glob fnmatch
1个回答
0
投票

好的,谢谢Wiktor的回复。在那之后,我找了一个变通的方法,我找到了这个。

x = re.search("^[20]+[0-9]+\.xlsx$", filename)
            if x is not None:
                print(filename)

我得到了满意的结果,所以我想,我可以结束这个问题了。

非常感谢。

© www.soinside.com 2019 - 2024. All rights reserved.