2017-07-19 61 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