2017-11-20 7 views
1

목록의 구조를 유지하면서 다차원 목록을 파일에 저장하려고합니다. 내가 가장 쉬운 것 피클을 사용하여 생각 : 지금 그러나 목록을로드하려고하면피클 EOFError 목록 저장

for ... stuff: 
    # stuff happens which creates the new list kWebsTemp that I want to save 
    # now for every loop-run I want to append my file by adding the new list as an additional object 

    with open('%s_%s' %(filename,Scent), 'wb') as file: 
         #file.write(kWebsTemp) 
         #file.write('\n') 

         pickle.dump(kWebsTemp, file) 

, 내가 저장 한 첫 번째 목록을로드 할 경우에만 수 있어요.

with open('%s_%s' %('testData','E'), 'rb') as file: 
     print pickle.load(file) 
     print pickle.load(file) 

두 번째 인쇄 명령의 경우 EOFError가 발생합니다. 어떤 아이디어가 여기에 잘못 됐어?

+0

파일에 하나의 객체 만 덤프해야하므로 솔루션은 사전을 작성하는 것일 수 있습니다. 결국 피클 대신 cPickle을 사용하여 중첩 된 객체에 대해 pickle을 사용하여 덤프합니다. –

답변

0

개체에 실제로 파일을 추가하려면 'ab'대신 'wb'를 사용해야합니다.