python pickle给出"AttributeError:'str'对象没有属性'write'"

dre*_*cko 38 python pickle python-2.7

当我试图腌制某些东西时,我得到了一个 AttributeError: 'str' object has no attribute 'write'

一个例子:

import pickle
pickle.dump({"a dict":True},"a-file.pickle")
Run Code Online (Sandbox Code Playgroud)

生产:

...
AttributeError: 'str' object has no attribute 'write'
Run Code Online (Sandbox Code Playgroud)

怎么了?

dre*_*cko 66

这是一个微不足道的错误:pickle.dump(obj,file)取一个file对象,而不是文件名.

我需要的是:

with open("a-file.pickle",'wb') as f:
    pickle.dump({"a dict":True},f)
Run Code Online (Sandbox Code Playgroud)