2016-07-03 2 views
0

저는 파이썬을 처음 사용합니다. 나는 os.walk와 yield를 배우고 있습니다. 만약 내가 아래 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
if __name__ == '__main__': 
    for fname in locate('assert.py') 
     print(fname) 

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

그냥 첫 경기를 얻을 수있는 방법입니다 필요 (또는 반복)까지

발전기가 평가되지 않습니다

관련 문제