Python 내에서 생성 된 파일을 대상 디렉터리 집합에 라운드 로빈 방식으로 작성하여 파일이 균등하게 배포되도록하는 솔루션을 찾고 있습니다.
따라서 5 개의 대상 디렉터리가있는 경우 : D1, D2, D3, D4 및 D5
생성 된 파일의 상수 스트림 (F1 .... Fn), 디렉토리는 다음과 같이 작성됩니다.
D1: F1, F6, F11 ... etc
D2: F2, F7, F12 ... etc
D3: F3, F8, F13 ... etc
D4: F4, F9, F14 ... etc
D5: F5, F10, F15 ... etc
이상적으로는 이것을 허용하는 파이썬 lib가있을 수 있습니다 ...
감사
itertools.cycle
다음 파일의 다음 디렉토리를 가져 오는 데 사용 합니다.
it = itertools.cycle( ['D1', 'D2', 'D3'] )
print next(it)
print next(it)
print next(it)
print next(it)
print next(it)
print next(it)
결과
D1
D2
D3
D1
D2
D3
it = itertools.cycle( ['D1', 'D2', 'D3'] )
for x in ['F1', 'F2', 'F3', 'F4' , 'F5', 'F6']:
print x, 'write in', next(it)
결과
F1 write in D1
F2 write in D2
F3 write in D3
F4 write in D1
F5 write in D2
F6 write in D3
편집 : Kevin이 말했듯이
dirs = ['D1', 'D2', 'D3']
files = ['F1', 'F2', 'F3', 'F4' , 'F5', 'F6']
for f,d in zip(files, itertools.cycle(dirs)):
print f, 'write in', d
결과
F1 write in D1
F2 write in D2
F3 write in D3
F4 write in D1
F5 write in D2
F6 write in D3
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다