Seite 1 von 1

Listen bzw. Dictionaries

Verfasst: Donnerstag 19. April 2007, 12:25
von lordmyder
Hallo,
ich habe vor Daten in einer Textdatei zu speichern. Dabei wird jedem Datensatz ein Code zugewiesen anhand dieses Codes kann später der DAtensatz gefunden werden.
Jetzt meine Frage:
Ich will diese Daten per Script einlesen und in einem Dictionary oder einer Liste speichern und dann mit entsprechendem Schlüssel meine Daten zu finden. Bis zu welcher Datenmenge macht das Sinn? Ich habe gehört riesige Listen oder Dictionaries anzulegen sei nicht geschickt.
Ich werde ca. 110 Datensätze mit jedoch relativ viel Inhalt haben. Macht es noch Sinn das in Listen oder Dici´s zu speichern?
Danke schon mal für eure Antworten
Gruß
Lordmyder

Re: Listen bzw. Dictionaries

Verfasst: Donnerstag 19. April 2007, 12:34
von gerold
lordmyder hat geschrieben:Ich will diese Daten per Script einlesen und in einem Dictionary oder einer Liste speichern und dann mit entsprechendem Schlüssel meine Daten zu finden. Bis zu welcher Datenmenge macht das Sinn?
Hi Lordmyder!

Dein Arbeitsspeicher begrenzt dich. Wenn du also nur 5 oder 10 MB an Daten einlesen willst und diese in einem Dictionary halten willst, um damit schnell arbeiten zu können, dann wird dich ein moderner Computer nicht aufhalten. Was sind schon 5 oder 10 MB für einen Computer mit Windows, KDE oder Gnome? Nichts!

Wenn du nicht weißt wie viel Daten es wirklich werden können und du auch nicht weißt ob dein Programm auch mit schwächeren Computern ausgeführt werden soll, dann empfehle ich als direkten Dictionary-Ersatz --> Shelve.

Shelve verhält sich wie ein Dictionary. Der Unterschied ist, dass die Daten in das Dateisystem geschrieben werden. Das ganze ist recht gut gecached, so dass der Zugriff auf die Daten sehr schnell ist und du keinen oder kaum einen Unterschied zu einem normalen Dictionary merken wirst. Ich hatte schon mit 80 MB großen Shelves zu tun und bemerkte keinen Geschwindigkeitsverlust.

Wie man ein Shelve verwenden kann siehst du unter anderem hier: http://www.python-forum.de/topic-6157.html

mfg
Gerold
:-)

Verfasst: Donnerstag 19. April 2007, 12:38
von lordmyder
Danke Gerold für die schnelle Antwort!