2016-07-03 8 views
0

私はPythonには初めてです。私はos.walkと収穫を学んでいます。下のprint(fname)にしようとすると、ジェネレータオブジェクトが出力されます。生成された実際のファイル名はどのように出力するのですか?Pythonジェネレータオブジェクトからファイル名を取得

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
if __name__ == '__main__': 
    for fname in locate('assert.py') 
     print(fname) 

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

はちょうど最初の試合を取得する方法である必要(または反復)まで

ジェネレータが評価されません

関連する問題