2011-11-13 2 views
2

길이가 n 인 목록이 있습니다. 목록의 각 항목은 n .txt 파일에 기록되어야합니다. 몇 가지 이유를 들어 다음과 같은 기본적인 접근 방법은 나를 위해 작동하지 않습니다 :목록의 각 구성원마다 파이썬 별도의 파일에 작성하십시오.

for item in lst: 
    for i in range(len(lst)): 
     write_to_me = open('list_item_%i.txt' %i, 'w') 
     write_to_me.write(item) 

파일 이름 ('list_item_0.txt', 'list_item_1.txt'등) 미세하지만 같은 항목이 기록되는 각 파일에. 그래서 각 파일에 중복 된 내용이있는 n 개의 파일로 끝납니다. 어떤 아이디어?

답변

1

중첩 루프를 사용하지 마십시오. 인덱스 및 항목을 모두 얻을 수 enumerate를 사용

for i, item in enumerate(lst): 
    write_to_me = open('list_item_{0}.txt'.format(i), 'w') 
    write_to_me.write(item) 
    write_to_me.close() 

(!) 참고 : 당신이 그들을 사용이 끝나면 파일을 닫습니다 잊지 마세요!

+0

감사합니다. – Renklauf

관련 문제