EOFerror bei Pickel
Verfasst: Freitag 2. Dezember 2011, 18:08
Hallo Pythoner,
Ich habe schon wieder mal ein Problem!
Ich habe mir ein Consolenspiel gemacht,
da wollte ich eine Save funktion mit Pickle gemacht.
Aber dort kam eine Fehlermeldung,
ich habe das ganze nochmal in ein extra-file geschrieben,
aber nur die Save funktion ... und das selbe.
Ich habe schon gegoogleld,
und da steht das das ein Fehler von Python ist,
und tritt auf wenn man raw- oder input verwendet.
Zur Fehlerbehandlung habe ich noch nicht's richtiges gefunden auser das: http://abop-german.berlios.de/read/try-except.html
Aber das ist ein Bischen unpraktisch.
Kann mir jemand Helfen wie ich das gut lösen könnte?
Ich habe schon wieder mal ein Problem!
Ich habe mir ein Consolenspiel gemacht,
da wollte ich eine Save funktion mit Pickle gemacht.
Aber dort kam eine Fehlermeldung,
ich habe das ganze nochmal in ein extra-file geschrieben,
aber nur die Save funktion ... und das selbe.
Ich habe schon gegoogleld,
und da steht das das ein Fehler von Python ist,
und tritt auf wenn man raw- oder input verwendet.
Zur Fehlerbehandlung habe ich noch nicht's richtiges gefunden auser das: http://abop-german.berlios.de/read/try-except.html
Aber das ist ein Bischen unpraktisch.
Kann mir jemand Helfen wie ich das gut lösen könnte?
Code: Alles auswählen
import random, pickle
zins_werte = [1.5, 2.0, 2.5, 3.0]
########~Werte~########
#~Bank und Geld
bargeld = 100
neue_zinsen = random.choice(zins_werte)
zinsen = float(neue_zinsen)
bank = 0
tag = 0
#~Nahrung
brot = 1.5
wasser = 1.0
#~Nahrung-Preise
wasser_preis = 0.8
brot_preis = 0.5
#~Funktionen
trinken = 100
essen = 100
#~Extra
bankkonto = bank
ereignisse = 10
op = input("Load(1) or Save(2)?\n")
if op == 1:
op = None
load = open("save.txt", 'r')
bargeld, zinsen, bank, tag, brot, wasser, wasser_preis, brot_preis, trinken, essen, ereignisse = pickle.load(load)
if op == 2:
f = open("save.txt", 'w')
pickle.dump([bargeld, zinsen, bank, tag, brot, wasser, wasser_preis, brot_preis, trinken, essen, ereignisse], f)
Code: Alles auswählen
jtschoch@triebisch:~/Prog/python/Spiel$ python test_save.py
Load(1) or Save(2)?
1
Traceback (most recent call last):
File "test_save.py", line 33, in <module>
bargeld, zinsen, bank, tag, brot, wasser, wasser_preis, brot_preis, trinken, essen, ereignisse = pickle.load(load)
File "/usr/lib/python2.7/pickle.py", line 1378, in load
return Unpickler(file).load()
File "/usr/lib/python2.7/pickle.py", line 858, in load
dispatch[key](self)
File "/usr/lib/python2.7/pickle.py", line 880, in load_eof
raise EOFError
EOFError