3 回答
TA贡献1921条经验 获得超9个赞
使用jsonorpickle比保存明文并对其进行ast.literal_evaling更好。我会推荐json:
对于json,首先运行一次:
import json
with open('baseDict.json', 'w') as f:
json.dump({'a':10, 'b':20, 'c':30, 'd':40}, f)
然后:
import json
with open('baseDict.json','r') as f:
baseDict = json.load(f)
# your code
with open('baseDict.json', 'w') as f:
json.dump(baseDict, f)
请参阅此处了解为什么json比ast.literal_eval.
TA贡献1780条经验 获得超4个赞
据我所知,保持这种更改的唯一方法是使用本地存储。它可以与 Jsons、文本文件、数据库一起使用,甚至您可以创建自己的编码类型的文件。不过,大多数应用程序都需要安装,也许将您的数据加密并将其存储在应用程序在安装过程中创建的目录中的秘密文件中,这可能是您的选择。
TA贡献1805条经验 获得超10个赞
你可以把它保存到txt,然后再加载回来。
所以自己运行一个代码,如下所示:
with open('test.txt','w') as f:
f.write("{'a':10, 'b':20, 'c':30, 'd':40}")
然后,使用以下代码运行另一个模块:
import ast
with open('test.txt','r') as f:
baseDict=ast.literal_eval(f.read().rstrip())
def updateDict(key, value):
temp = {key : value}
baseDict.update(temp)
return baseDict
key = str(input('Enter key\n'))
value = input('Enter value\n')
baseDict = updateDict(key, value)
with open('test.txt','w') as f:
f.write(str(baseDict))
添加回答
举报