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