2014-09-21 25 views
35

Quando cerco di salamoia qualcosa, ottengo un AttributeError: 'str' object has no attribute 'write'pitone salamoia dà "AttributeError: 'str' oggetto non ha attributo 'write'"

Un esempio:

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

produce:

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

Cosa c'è che non va?

+0

Sarei interessato a discutere le downvotes ... Questa domanda sembra banale, ma mi avrebbe fatto risparmiare tempo prezioso se fosse già stato qui .. – drevicko

+0

'twasn't I, ma guarda il testo al passaggio del mouse sul pulsante di downvote: "Questa domanda non mostra alcuno sforzo di ricerca ..." potrebbe essere la ragione se la ragione era in gioco. In generale, mettere in discussione i downvotes è uno spreco di sforzi; se volessero dirtelo, lo farebbero. – msw

+1

se una risposta perfetta alla tua domanda è "RTFM", allora potrei vedere perché qualcuno potrebbe downvotare –

risposta

57

È un errore banale: pickle.dump(obj,file) prende un oggetto file, non un nome di file.

Che cosa ho bisogno è qualcosa di simile:

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