2015-11-05 36 views
2

当我试图将第二个对象转储为二进制文件时,它会不断重写第一个对象。我想在文件中有很多对象。 下面的代码:转储文件中的多个对象

import pickle 

def create_file(obj): 
     Fo=open ('pay.txt','wb') 
     pickle.dump(obj,Fo) 
     Fo.close() 

基本上,当用户想增加新的项目,这个函数被调用。 鉴于此,我无法使用列表并立即转储所有内容。 你能告诉我我的错误或建议替代代码。

+0

您是否尝试将'wb'更改为'a'或'ab'? – Rahul

+0

不,我没有!那是错误!谢谢。这很长,我完全忘记了追加模式。 – Tinkidinki

+0

很酷。如果它适合你,请接受答案。 – Rahul

回答

2

尝试更改文件模式。

import pickle 

def create_file(obj): 
    Fo=open ('pay.txt','ab') 
    pickle.dump(obj,Fo) 
    Fo.close()