문제

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

잘 작동합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top