我是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)
答案 0 :(得分:1)
if __name__ == '__main__':
for fname in locate('assert.py')
print(fname)
生成器在需要(或迭代)之前不会被评估
print next(locate("assert.py"),"assert.py not found!")
是一种获得第一场比赛的方法