Seite 2 von 2

Verfasst: Donnerstag 14. Januar 2010, 14:20
von Bloos
bin auf diese seite gestoßen, die mir sehr weiter geholfen hat
http://www.python-forum.de/viewtopic.ph ... 1b1c5dd87d

habe mich für die Shelve Methode endschieden

Code: Alles auswählen

#Selve Test / 14.01.2010

import shelve

# Speichern

st = shelve.open("selvetest_1.slv")                 # Oeffnet die Shelve Datei 
st["day"] = [("d1","e1"),("d2","e2"),("d3","e3")]
st["week"] = [("d4","e4"),("d5","e5"),("d6","e6")]
st.close()                                          # Schliesst die Shelve Datei 

# Laden

st = shelve.open("selvetest_1.slv")
print st["day"][2][0], " = ", st["day"][2][1]
print st["week"]
st.close()
d3 = e3
[('d4', 'e4'), ('d5', 'e5'), ('d6', 'e6')]


ich verstehe nicht ganz, wofür die [] nach der Listennamen sind. In die ich "week" und "day" geschrieben habe, denn ohne diese funktiert die shelve methode nicht. Ich nehme an das es veschiedene listen sind, st["day"] und st["week"].

Es kommt mir zwar sehr gelegen, da ich die vokabeln in verschiedene stufen abspeichern will, die ich in verschiedenen abständen wiederholen werde (täglich,wöchentlich usw). Wenn das Programm merkt das ich sie kann, werden sie in die nächste stufe aufsteigen.

Sehe ich das richtig und sollte ich da noch etwas beachten?

Verfasst: Donnerstag 14. Januar 2010, 15:31
von snafu
Bloos hat geschrieben:ich verstehe nicht ganz, wofür die [] nach der Listennamen sind.
Die eckigen Klammern stehen in Python halt für eine Liste. Du bindest eine Liste an die Schlüsselwörter vom shelve-Dictionary und bekommst entsprechend eine Liste zurück. Was hattest du in dem Moment denn erwartet?

Verfasst: Freitag 15. Januar 2010, 07:06
von Bloos
habe mich gewundert da man normaler weise listen ohne die deklariert bzw ihnen den wert zuweisst

Code: Alles auswählen

bsliste = [x,y]
aber jetzt ist alles klar

danke

Verfasst: Freitag 15. Januar 2010, 07:49
von snafu
Achso, meintest du `st['day']`? Das ist noch nicht die Liste, sondern erstmal der Zugriff auf das Schlüsselwort:

Code: Alles auswählen

In [58]: d = {}

In [59]: d
Out[59]: {}

In [60]: d['day'] = [1,2,3]

In [61]: d
Out[61]: {'day': [1, 2, 3]}
Das shelve-Objekt ist eben ein Dictionary mit erweiterter Funktionalität.

Verfasst: Freitag 15. Januar 2010, 07:50
von Leonidas
Bloos hat geschrieben:habe mich gewundert da man normaler weise listen ohne die deklariert bzw ihnen den wert zuweisst

Code: Alles auswählen

bsliste = [x,y]
Na genau das gleiche wird in dem Code auch gemacht. Nur dass die Werte eben nicht x und y sind sondern Tupel-Literale.

Verfasst: Dienstag 19. Januar 2010, 13:27
von Bloos
hallo miteinander,

bin nun mit meinem prototypen fertig. Doch meine ganzen menys werden durch eingabe und bestätigung gesteuert (raw_input()). Würde gerne es durch Hotkeys ersetzen, habe leider nichts gefunden was mich weiter gebracht hat. Könnte jemand mir einen kleinen skript schreiben zur verwendung von hotkeys auf dem einfachsten niveau
zb:

taste-k:
print "Hallo"

ein link zur erklärendem artikel würde auch ausreichen :)

Verfasst: Dienstag 19. Januar 2010, 13:52
von alpha

Verfasst: Dienstag 19. Januar 2010, 14:09
von Bloos
bin schon auf dieses thread gestossen, und denke das es da um globale hotkeys geht. oder teusche ich mich da etwa?

ich habe eine viel einfachere / simple lösung erwartet als die da becshrieben wird