ich will das erstmal mit ganz primitiven Mitteln zur Kommunikation testen, indem ich die Termine mit cPickle einfriere, damit man sie veröffentlichen kann... aber wenn ich die Datei mit cPickle wieder laden will, dann meckert Python...
import cPickle as pickle
Code: Alles auswählen
class Termin:
def __init__(self,name=None,datum=None,ort=None,beschreibung=None):
self.Name=name
self.Datum=datum
self.Ort=ort
self.Beschreibung=beschreibung
print "Termin gespeichert!"
print " Name: "+self.Name
print "Datum: "+self.Datum
print " Ort: "+self.Ort
print "Beschreibung: \n"+self.Beschreibung
def bearbeiten(self,name=None,datum=None,ort=None,beschreibung=None):
if name:
self.Name=name
if datum:
self.Datum=datum
if ort:
self.Ort=ort
if beschreibung:
self.Beschreibung=beschreibung
class Terminplaner:
def __init__(self):
self.terminliste=[]
def hinzufuegen(self,name,datum,ort,beschreibung):
exec "self."+name+"=Termin(name='"+name+"',datum='"+datum+"',ort='"\
+ort+"',beschreibung='"+beschreibung+"')"
exec "self.terminliste.append(self."+name+")"
def zeigen(self):
for termin in self.terminliste:
print " Name: "+termin.Name
print "Datum: "+termin.Datum
print " Ort: "+termin.Ort
print "Beschreibung:"
print termin.Beschreibung
print
def starten():
termindatei="termine_nephilim.data"
datei=file(termindatei,"w")
planer=Terminplaner()
print " Terminplaner V. 1.0"
while True:
print
print "Hallo! Dies ist die erste Version des Terminplaners\
der Gilde Nephilim!"
print "Wähle eine Option aus"
print "(gib bitte NUR die Zahl ein, die vor der Option steht!!!)"
print
print "1 Termine ansehen"
print "2 Termine importieren"
print "3 Termin hinzufügen"
print "4 Termine ändern"
print "5 Termine speichern"
print "6 Beenden"
auswahl=raw_input()
terminplaner=Terminplaner()
if auswahl=="1":
print "Es wurde die Funktion 'Termine ansehen' gewählt"
planer.zeigen()
elif auswahl=="2":
print "Es wurde die Funktion 'Termine importieren' gewählt"
planer=pickle.load(datei)
elif auswahl=="3":
print "Es wurde die Funktion 'Termin hinzufügen' gewählt"
print "Gib bitte folgende Daten zum Termin ein:"
name=raw_input("Name des Termins: ")
datum=raw_input("Datum des Termins: ")
ort=raw_input("Wo findet der Termin statt? ")
beschreibung=raw_input("Eine kurze Beschreibung, mehrere Zeilen\
\nsind möglich. Bitte keine Absätze (Enter-Taste) machen,\
\nda sonst die Beschreibung gespeichert wird!")
planer.hinzufuegen(name=name,datum=datum,ort=ort,\
beschreibung=beschreibung)
elif auswahl=="4":
print "Es wurde die Funktion 'Termine ändern' gewählt"
print "Gib bitte den Terminnamen ein!"
terminname=raw_input("Name des Termins: ")
print "Gib bitte folgende Daten zum Termin ein, die du ändern\
\nwillst (sonst drücke einfach Enter):"
name=raw_input("Name des Termins: ")
datum=raw_input("Datum des Termins: ")
ort=raw_input("Wo findet der Termin statt? ")
beschreibung=raw_input("Eine kurze Beschreibung, mehrere Zeilen\
\nsind möglich. Bitte keine Absätze (Enter-Taste) machen,\
\nda sonst die Beschreibung gespeichert wird!")
if name!="":
exec "planer."+terminname+".bearbeiten(name="+name+")"
if datum!="":
exec "planer."+terminname+".bearbeiten(datum="+datum+")"
if ort!="":
exec "planer."+terminname+".bearbeiten(ort="+ort+")"
if beschreibung!="":
exec "planer."+terminname+".bearbeiten(\
beschreibung="+beschreibung+")"
print "Änderung durchgeführt!"
elif auswahl=="5":
print "Es wurde die Funktion 'Termine speichern' gewählt"
pickle.dump(planer,datei)
print "Gespeichert!"
elif auswahl=="6":
print "Programmende. Du kannst das Fenster nun schließen!"
break
starten()
Kann mir da jemand helfen?