문제
Python 생성기에 요소를 추가 할 수 있습니까?
나는 현재 무질서한 폴더 세트에서 모든 이미지를 가져 와서 새 디렉토리에 쓰려고 노력하고 있습니다. 파일을 얻기 위해 단일 디렉토리의 이미지 파일 목록을 반환하는 os.walk ()를 사용하고 있습니다. 이 단일 목록에서 발전기를 만들 수는 있지만이 모든 목록을 하나의 단일 생성기로 결합하는 방법을 모르겠습니다. 어떤 도움이든 큰 감사를드립니다.
관련된:
해결책
이것은 어디에서해야합니다 directories
디렉토리 목록입니다.
import os
import itertools
generators = [os.walk(d) for d in directories]
for root, dirs, files in itertools.chain(*generators):
print root, dirs, files
다른 팁
당신이 찾고있는 itertools.chain
. 여러 반복성을 다음과 같이 하나의 반복으로 결합합니다.
>>> for i in itertools.chain([1,2,3], [4,5,6]):
... print i
...
1
2
3
4
5
6
def files_gen(topdir='.'):
for root, dirs, files in os.walk(topdir):
# ... do some stuff with files
for f in files:
yield os.path.join(root, f)
# ... do other stuff
for f in files_gen():
print f
이와 같이.
def threeGens( i, j, k ):
for x in range(i):
yield x
for x in range(j):
yield x
for x in range(k):
yield x
잘 작동합니다.
제휴하지 않습니다 StackOverflow