web-dev-qa-db-ja.com

python pickleは「AttributeError: 'str'オブジェクトに属性 'write'がありません」を与える

何かを漬けようとすると、AttributeError: 'str' object has no attribute 'write'

例:

import pickle
pickle.dump({"a dict":True},"a-file.pickle")

生成するもの:

...
AttributeError: 'str' object has no attribute 'write'

どうしましたか?

37
drevicko

それは些細な間違いです:pickle.dump(obj,file)はファイル名ではなくfileオブジェクトを取ります。

私が必要なのは次のようなものです:

with open("a-file.pickle",'wb') as f:
    pickle.dump({"a dict":True},f)
65
drevicko