2017-07-19 7 views
-3

Ich habe eine Python-Datei, die ein Wörterbuch und eine weitere Datei enthalten, die die Datei mit dem Wörterbuch importieren. Ich muss den tatsächlichen Wert der Schlüssel ändern, ich meine permanent - nicht durch den Import und Bearbeitung für den Code, Wie kann ich das erreichen?Ändern Sie den Inhalt der py-Datei

+1

die Werte in der Datei Durch die Änderung, die das Wörterbuch enthält? – bert

+1

Wenn die Daten bearbeitbar sein sollen, sollten Sie sie in einem datenfreundlichen Format speichern. JSON, YAML, Python pickle vielleicht. Laden Sie dann die Datei, bearbeiten Sie die Daten, serialisieren Sie sie erneut in eine Datei. – deceze

+1

Quellcode * ist keine Daten * und Sie sollten die beiden getrennt halten. –

Antwort

2

Es gibt einen sehr guten Grund, warum Programmierer im Laufe der Jahre gelernt haben, die Quelle ihrer Programme nicht unter Programmkontrolle zu ändern. Es führt zu Unordnung, besonders wenn mehrere Personen versuchen, dasselbe Programm zur gleichen Zeit zu verwenden, und das bedeutet, dass Sie Ihren Code nicht effektiv unter der Quellcodeverwaltung halten können.

Es wäre viel besser, eine Möglichkeit zu verwenden, die Schlüssel und Werte außerhalb des Programms zu speichern. Abhängig von den Schlüsseltypen, die ein Regal, eine relationale Datenbank oder eine Reihe anderer Dinge sein könnten. Wenn es variiert, sollten Daten nicht in die Programmquelle integriert werden.

0

Verwenden pickle

import pickle 

myDict = {"foo": "bar", "spam": "eggs"} 
pickle.dump(myDict, "myFile.py") # Stores object in a file 

dictFromFile = pickle.load("myFile.py") # Retrieves object from files 
print dictFromFile["spam"] # Prints eggs 
Verwandte Themen