从python生成器对象获取文件名

时间:2016-07-03 23:33:24

标签: python generator

我是python的新手。我正在学习os.walk和收益。如果我尝试在print(fname)下面打印一个生成器对象。如何打印生成的实际文件名。

import os, fnmatch

def locate(pattern, root=os.curdir):

    for path, dirs, files in os.walk(os.paths.abspath(root)):
        for filename in fnmatch.filter(files,pattern):
            yield os.path.join(path,filename)


if __name__ == '__main__':
    fname = locate('assert.py')
    print(fname)

1 个答案:

答案 0 :(得分:1)

if __name__ == '__main__':
    for fname in locate('assert.py')
        print(fname)

生成器在需要(或迭代)之前不会被评估

print next(locate("assert.py"),"assert.py not found!")

是一种获得第一场比赛的方法