2017-07-19 10 views
-3

私は辞書を含むpythonファイルと辞書を含むファイルをインポートするもう一つのファイルを持っています。 キーの実際の値を変更する必要があります。コードをインポートして編集するのではなく、永久に意味します。 どうすれば実現できますか?pyファイルの内容を変更する

+1

? – bert

+1

データを編集する必要がある場合は、データに適した形式でデータを保存する必要があります。 JSON、YAML、おそらくPython pickleです。その後、ファイルをロードし、データを編集し、ファイルに再度シリアライズします。 – deceze

+1

ソースコード*はデータ*ではありません。 –

答えて

2

プログラマーがプログラム制御下でプログラムのソースを変更しないことを長年にわたって学んだ理由は非常にあります。特に複数のユーザーが同じプログラムを同時に使用しようとすると、コードをソース管理下に置くことができないという混乱を招きます。

キーと値をプログラムの外部に保存する方法を使う方がはるかに良いでしょう。シェルブ、リレーショナルデータベース、または他の多くのものになる可能性のあるキーのタイプに応じて。それが変わる場合は、プログラムのソースにデータを組み込むべきではありません。

0

辞書を含むファイルの値を変更して、使用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 
関連する問題