2017-02-05 3 views
-2

mylist = [1, 2] x = int(input('x: ')) mylist.append(x)wie Sie Daten aus dem Zyklus in Python speichern und Objekte in Datei speichern?

glaube ich 3 als x nach Lauf einlegen, wenn ich App schließen und erneut aus 3 nicht in mylist, wie man dieses Problem lösen kann?

+2

, was Sie meinen speichere von * "Daten in Python für immer "*? Es gibt nichts wie für immer, weil Ihre Maschine sterblich genug ist, um das zu tun –

+1

Sie können Ihre Daten in sekundäre Datenquelle wie in eine Datenbank oder Datei schreiben –

+0

in Datei schreiben und später aus der Datei lesen. – furas

Antwort

0

Durch die physikalischen Gesetze haben Sie fast keine Chance, etwas für unendliche Zeit zu speichern ... In diesem Fall möchten Sie vielleicht Dateien verwenden, um einige Daten zwischen den Läufen zu speichern.

+0

_Almost_Null bedeutet einen Mangel an Vertrauen in Ihre Behauptung oder eine mögliche Lücke. Zum Labor! :) – roganjosh

+0

@roganjosh Warum konnte ein Objekt oder ein System seinen Zustand für eine unendliche Zeit nicht behalten? Wäre das nicht ein höchst unwahrscheinliches, aber immer noch mögliches Szenario? – Reaper

+0

Ich war wirklich nur leichtherzig, als ich diesen Bildschirm für das betrachtete, was sich heute wie eine unendliche Zeit anfühlt. Aber eigentlich sollte unter der relativ populären Vorstellung vom Hitzetod des Universums alles sowieso verdunsten. – roganjosh

0

Sie können das nicht im Python-Skript selbst tun. Sobald Sie Ihr Skript beendet haben, werden alle seine Werte aus dem RAM gelöscht.

Sie sollten erwägen, einige Zwischenspeicher (z. B. Dateien) zu verwenden - laden Sie die Daten beim Start Ihres Skripts und speichern Sie es beim Schließen.

0

könnten Sie die Daten von mylist in einer Datei mit json oder Beize

import json 

with open(filename, 'a+') as f: 
    json.dump(data, f) # stores the data in the file 
    json.load(f) # gets the stored data from the file 
0

speichern Sie es in eine JSON-Datei schreiben und auswerten können dann den Wert zum nächsten Mal ausgeführt werden.

with open('./myList.json', 'w') as f: 
    f.write("{\"myList\": " + str(myList) + "}") 
0

Sie sollten darüber nachdenken, über Dateioperationen in Python zu lernen.

Ein guter Ausgangspunkt wäre here.

Nachdem Sie verstanden haben, wie Dateioperationen funktionieren und welche Dateien vorhanden sind, können Sie versuchen, das Modul pickle oder json zu verwenden.

Mit diesen Modulen können Sie Ihre Datenstrukturen (in diesem Fall eine Liste) in einer Datei speichern.

Wenn Sie dieses Stück Code versuchen ausgeführt wird:

import json 

def doOperation(mylist): 
    mylist.append([1, 2]) 

try: 
    with open("temp", "r") as f: 
     mylist = json.load(f) 
except IOError: 
    mylist = [] 

doOperation(mylist) 

with open("temp", "w") as f: 
    json.dump(mylist, f) 

print mylist 

Sie werden sehen, dass die Ausgabe über Programm wieder läuft weiterhin besteht:

[[email protected] Downloads]$ python tryThis.py 
[[1, 2]] 
[[email protected] Downloads]$ python tryThis.py 
[[1, 2], [1, 2]] 
[[email protected] Downloads]$ python tryThis.py 
[[1, 2], [1, 2], [1, 2]] 
[[email protected] Downloads]$ python tryThis.py 
[[1, 2], [1, 2], [1, 2], [1, 2]] 
Verwandte Themen