Python,在文件夹中查找指定文件

-1 投票
2 回答
700 浏览
提问于 2025-04-16 23:19

这段代码有什么问题呢?我想在文件夹里找到一个指定的文件。谢谢你的帮助。

import os, fnmatch

def find(root, mask): //Error
    files_list = os.listdir(os.path.abspath(root))
    for filename in fnmatch.filter(files_list, mask):
        yield filename

def test():
    res = find ('D:\\Sample\\', 'hallo.txt') 

test()

错误信息:

Error: Traceback (most recent call last): def find(root, mask): NoneType

2 个回答

0

测试函数的缩进有些缺失

def test ():
    res = find ('D:\\Sample\\', 'hallo.txt')
1

你的函数是一个生成器,它会一个一个地返回文件名。如果你想要一个包含所有匹配项的列表,可以对res使用list

list_of_matches = list(res)

另外,你的默认参数root=os.dir没有什么意义。也许可以用'.'来代替?

撰写回答