speichern von fortschritten

Hier werden alle anderen GUI-Toolkits sowie Spezial-Toolkits wie Spiele-Engines behandelt.
Antworten
schnefels
User
Beiträge: 6
Registriert: Samstag 21. Februar 2004, 17:52
Kontaktdaten:

Donnerstag 25. März 2004, 16:05

halloo ^^
ich hab mit python für mei schule ein kleines tamagotchi gescriptet - läuft alles über wertzuweisung und gif animationen die im browser ablaufen - ich hab auserdem eine funktion die in arbeiten schickt so dass er geld verdient. kann mir jemand sagen wie ichs dann mach das quasi über einen savebutton eine art benutzerprofil angelegt wird dass man das das nächste mal wieder laden kann und weitermachen kann? dangöö ^^
querdenker
User
Beiträge: 424
Registriert: Montag 28. Juli 2003, 16:19
Wohnort: /dev/reality

Donnerstag 25. März 2004, 17:16

Ini-File, oder cPickle, je nach dem, was du wie wegspeichern willst.

mfg; querdenker
Dookie
Python-Forum Veteran
Beiträge: 2010
Registriert: Freitag 11. Oktober 2002, 18:00
Wohnort: Salzburg
Kontaktdaten:

Donnerstag 25. März 2004, 20:08

Hi schnefels,

bist Du sicher daß du hier im richtigen Unterforum gepostet hast? Browser hört sich eher nach Network/CGI an als nach gui und das Speichern von Benutzerprofilen geschieht dann über Cookies bzw in normalen Dateien, je nachdem ob das ganze auf Clients gesicher wird oder auf dem Server.
Ich würde dann die Daten in einem Dictionary halten, welches recht einfach gespeichert und wieder eingelesen werden kann.

Hier mal ein ganz simples Beispiel für eine persistente Dictionaryklasse.

Code: Alles auswählen

#!/usr/bin/env python
# -*- coding: UTF-8 -*-

class persistent_dict(dict):
    __slots__ = []
    def store(self, fname):
        f = file(fname, "w")
        for key, value in self.items():
            f.write("%s = %s\n" % (key, value))
        f.close()
            
    def load(self, fname):
        f = file(fname, "r")
        for line in f:
            line = line.split("#")[0] # alles nach einem '#' ist kommentar
            if line:
                key, value = line.split("=")
                self[key.strip()] = value.strip()
        f.close()


if __name__ == "__main__":
    import os.path
    
    if not os.path.exists("test.prf"):
        myProfil = persistent_dict({"name": "Dookie", "forum": "Das Deutsche Pythonforum", "Alter": "43"})
        myProfil.store("test.prf")
    else:
        myProfil = persistent_dict()
        myProfil.load("test.prf")

    print myProfil
Gruß

Dookie
Antworten