web-dev-qa-db-fra.com

python pickle donne "AttributeError: l'objet 'str' n'a pas d'attribut 'write'" "

Quand j'essaye de mariner quelque chose, j'obtiens un AttributeError: 'str' object has no attribute 'write'

Un exemple:

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

produit:

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

Qu'est-ce qui ne va pas?

37
drevicko

C'est une erreur banale: pickle.dump(obj,file) prend un file objet, pas un nom de fichier.

J'ai besoin de quelque chose comme:

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