2016-05-25 9 views
-4

Ich versuche, dieses Ding in Python zu kodieren, und ich bin in eine Straßensperre geraten. Ich habe diese Liste, und ich möchte sie ändern und die Änderungen beibehalten, nachdem das Programm beendet wurde. Ich habe keine Ahnung, wo ich anfangen soll.Wie ändere ich eine externe Liste?

Im Wesentlichen möchte ich eine Liste, auf die zugegriffen werden kann und geändert wird, und wird gespeichert und nicht zurückgesetzt, nachdem das Ding, das es verwendet, geschlossen wird.

EDIT: Hier ist meine Idee; Es gibt eine Liste, die ich habe, nennen wir es Korb. Ich möchte ein Programm zum Hinzufügen und Entfernen aus dem 'Korb', und um die Änderungen zu behalten, nachdem ich das Programm geschlossen habe. Hoffe, das klärt ... Und ich habe versucht, global zu verwenden, aber das ist alles komisch, also habe ich diese Version im Wesentlichen gelöscht.

+0

Sie müssen den Code eingeben, den Sie versucht haben. –

+0

Bitte schreiben Sie Ihren Code, es wird nützlich sein, Ihre Frage zu erkennen –

Antwort

2

Sie können json, pickle oder eine ähnliche Bibliothek verwenden, um Daten in eine Datei zu schreiben und sie zurückzulesen und in einer Liste zu speichern. Dadurch wird die Datei save.json in Ihrem aktuellen Arbeitsverzeichnis erstellt, das json-Informationen über Ihre Liste enthält. Sie werden feststellen, dass Ihre Liste immer die Nummern enthält, die Sie zuvor hinzugefügt haben. Sie "vergisst" nicht, was Sie der Liste hinzugefügt haben, seit sie in einer Datei gespeichert wurde.

import os 
import json 

foo = [1,2,5,9] #default 

#if safe file exists, load its contents into foo list 
if os.path.isfile("save.json"): 
    with open("save.json", "r") as file: 
     foo = json.loads(file.read()) 

foo.append(int(input("Enter a number to add to foo"))) 
print(foo) 

#write foo list to file 
with open("save.json", "w") as file: 
    file.write(json.dumps(foo)) 
+0

Danke! Das war sehr hilfreich! –

0

Dies kann mit einer externen Datei erreicht werden.

Einfach die Liste in eine Datei schreiben, und später kann diese Information abgerufen, als Liste bearbeitet und dann überschrieben werden.

Soweit ich weiß, gibt es keine andere Möglichkeit der dauerhaften Speicherung.

0

Hier ist ein Beispiel für den Einstieg in Plain Python. Das Beispiel enthält eine Möglichkeit, eine Liste in einer Datei zu speichern und aus der Datei zu lesen. Da Sie keinen Code zur Verfügung gestellt haben, den Sie ausprobiert haben, ist es Ihre Aufgabe, dies so zu gestalten, wie Sie es benötigen.

#saving a list to a file 
items = ['apple', 'pear', 'grape'] 


file = open('C:\PythonTest\somefile.txt', 'w+') 
for item in items: 
    file.write('%s\n' % item) 

file.close() 


#reading a list from a file 
items = [] 
with open('C:\PythonTest\somefile.txt') as reader: 
    for line in reader: 
     items.append(line.rstrip("\r\n")) 
print(items)