Ich versuche, eine Funktion zum Speichern von Daten in einer Gurke-Datei zu erstellen. Ich weiß, dass auf diese Weise mit Gurke funktioniert:Funktion für Gurke
with open('x.pickle', 'wb') as f:
pickle.dump(x, f)
Aber ich will eigentlich eine Funktion aus ihm machen, damit ich muss es immer wieder nicht schreiben. Hier ist was ich versucht habe:
def pickle_dump(x):
with open('%s.pickle'%x, 'wb') as f:
pickle.dump(x, f)
return
Wenn wir 'mit' verwenden, und die Datei nicht existiert, erstellt es eine Datei. Ich vermutete, dass es auch funktionieren würde, wenn ich innerhalb einer Funktion bin, aber stattdessen gab es mir einen File Not Found Error.
Jede Hilfe wird geschätzt.
Hm, das ist sehr seltsam ... bist du * sicher * du benutzt '' wb'' Argument in 'pickle_dump'? Weil ich deinen Code getestet habe, funktioniert es gut für mich .., –
Ich denke, du willst einen 'filename' explizit übergeben ... –
Die Zeichenfolgendarstellung deines Objekts' x' kann beliebige Zeichen enthalten, die in einem Dateinamen ungültig sind. Wenn Sie erwarten, dass dies eine Datei namens 'x.pickle' erzeugt, nur weil der Parameter' x' heißt, so funktioniert Python nicht - Objekte haben im Allgemeinen keine Ahnung, wie sie heißen. – jasonharper