Seite 1 von 1

speichern von fortschritten

Verfasst: Donnerstag 25. März 2004, 16:05
von schnefels
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öö ^^

Verfasst: Donnerstag 25. März 2004, 17:16
von querdenker
Ini-File, oder cPickle, je nach dem, was du wie wegspeichern willst.

mfg; querdenker

Verfasst: Donnerstag 25. März 2004, 20:08
von Dookie
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