Python Werte Speichern

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Brevista
User
Beiträge: 32
Registriert: Sonntag 2. Juli 2017, 00:48

Hallo ich habe Folgende Frage:

Ich habe nun eine Datei mit Beispielsweise einem hash #001
nun möchte ich jedes mal wenn ich das Programm öffne um die hashes zu erstellen das nun nicht wieder #001 ausgegebn wird sonder #002
Bisher kenne ich nur den weg das in einem txt programm zu speichern und dann immer auslesen und dann hash + 1.
jetzt ist meine Frage ob es möglich is den wert immer wenn man einen neun wert erstellt zu speichern und dann beim nächsten öffnen dieser wieder
vorhanden ist und nicht wieder bei #001 anfängt ohne es in einem anderen Dokument zu speichern

Beispiel:

Code: Alles auswählen

a=1
print(str(a)) #Ausgabe = 1
a == a + 1

#Datei wird geschlossen und geöffnet

a=1
print(str(a))  #Ausgabe immer noch = 1 
a == a + 1

#Ziel

a=2
print(str(a)) //Ausgabe = 2
a == a + 1



Sirius3
User
Beiträge: 17738
Registriert: Sonntag 21. Oktober 2012, 17:20

@Brevista: irgendwo mußt Du den Wert ja speichern, ob in einer Textdatei, einer Datenbank oder irgendwo in den Wolken. Fang bitte nicht an, automatisch irgendwas in Pythondateien zu ändern. Was ist Dein eigentliches Problem, das Du lösen willst.
Brevista
User
Beiträge: 32
Registriert: Sonntag 2. Juli 2017, 00:48

In dem gepeichertem code steht ja das w = 1 ist. nun muss es doch eine möglichkeit geben einfach zu sagen das w nicht mehr 1 ist sondern z.b. 2
__deets__
User
Beiträge: 14523
Registriert: Mittwoch 14. Oktober 2015, 14:29

Ja. Schauen, ob es eine Datei gibt. Wenn nicht, anlegen und 1 reinschreiben. Wenn ja, lesen, um 1 inkrementieren, und wieder speichern.

Selbstmodifizierende Code gibt es eingebaut nicht, und es ist eine hochgradig schlechte Idee, denn die Chance das du dir dabei dein Skript zerhaust ist sehr gross. Lass es einfach sein, und schreib die < 10 Zeilen Code, die du dafuer brauchst. Es gibt einen Grund, warum alle Programme da draussen irgendwelche Dateien schreiben, zB eben auch mit solchen Informationen.
Brevista
User
Beiträge: 32
Registriert: Sonntag 2. Juli 2017, 00:48

Ok DANKE
Brevista
User
Beiträge: 32
Registriert: Sonntag 2. Juli 2017, 00:48

Noch eine Frage dazu, ich habe nun eine datei mit den variablen a,b,c,d,e,f = 1,2,3,4,5,6 nun möchte ich diese ganz normal einfügen
wenn ich jtzt open("datei.txt", "r") zeigt es den Error an dass a nicht definiert ist also wie implementiere ich das nun in meinen code
__deets__
User
Beiträge: 14523
Registriert: Mittwoch 14. Oktober 2015, 14:29

So geht das nicht. Du kannst zB das json-Modul nehmen, und dann bekommst du ein Woerterbuch mit den Schluesseln a-f. Darauf kannst du dann mit

data['a']

zb zugreifen. Du kannst aber natuerlich auch einfach zeilenweise einlesen, und die Werte der Reihe nach zuweisen an a-f.

Aber nochmal: das muss man programmieren, es gibt KEINEN magischen weg, in einem Programm nicht-fluechtige Variablen einfach so zu bekommen.
Antworten