Seite 1 von 1
[gelöst] Eingaben speichern und wieder aufrufen
Verfasst: Donnerstag 10. September 2009, 12:18
von mathi
Hallo miteinander,
ich habe ein Programm, in dem über wx.TextCtrl und wx.RadioBox sowie wx.CheckBox
Werte (Zahlen) eingegeben bzw. Auswahl getroffen wird.
Momentan geht alles nach beenden des Programmes verloren.
In welche Richtung muß ich denken, wenn ich sagen wir: die Eingabewerte in eine Datei speichern will um diese dann später wieder zu öffen und die Werte dann in den einzelnen Feldern richtig zu übernehmen??
z.B. TKinter:
http://www.python-forum.de/topic-15953. ... +speichern
Gruß Mathi
Verfasst: Donnerstag 10. September 2009, 12:32
von EyDu
Hallo.
Was hat dein verlinkter Thread denn mit speichern in einer Datei zu tun?
Schau dir mal das [mod]pickle[/mod]-Modul an, das sollte für deine Zwecke genügen.
Verfasst: Donnerstag 10. September 2009, 15:52
von The Spirit
der velinkte thread nützt dir nix, da dort auch sobald das programm beendet wird, die daten verloren gehen (wert wird ja nur in eine programmvariable gespeichert).
kann dir für deinen zweck auch pickle ans herz legen.
sollte voll und ganz genügen
Verfasst: Donnerstag 10. September 2009, 17:55
von Dav1d
Kleines Beispiel mit Speicherdialog!
Code: Alles auswählen
import pickle
wildcard = 'Was auch immer Datein (*.endung)|*.endung'
Code: Alles auswählen
skl = wx.FileDialog(self, message='Kontaktliste speichern:', defaultDir=os.getcwd(), defaultFile="", wildcard=wildcard, style=wx.SAVE)
skl.SetFilterIndex(2)
if skl.ShowModal() == wx.ID_OK:
sklpath = skl.GetPath()
if os.path.isfile(sklpath):
skldial = wx.MessageDialog(None, 'Vorhandene Datei überschreiben?', 'Überschreiben', wx.YES_NO | wx.NO_DEFAULT | wx.ICON_QUESTION)
skldialreturn = skldial.ShowModal()
if skldialreturn == wx.ID_YES:
sklsp = True
else:
sklsp = False
skldial = wx.MessageDialog(None, 'Kontaktliste nicht gespeichert', 'Speichern', wx.OK | wx.ICON_ERROR )
skldial.ShowModal()
else:
sklsp = True
if sklsp:
nameofskl = skl.GetFilename()
sklfile = file(sklpath, 'w')
pickle.dump(INSERT SOMETHING HERE, sklfile) # da pickeln
sklfile.close()
skldial = wx.MessageDialog(None, 'Kontaktliste erfolgreich gespeichert', 'Speichern', wx.OK | wx.ICON_INFORMATION )
skldial.ShowModal()
skl.Destroy()
sollte so funktionieren, fallste den code nicht verstehst, erklär ich ihn gerne
mfg