【发布时间】:2016-10-30 13:32:32
【问题描述】:
我的 python 程序读取一个预定义的字典来获取某些值进行处理。我需要能够更改字典的值。但是,由于程序会被转换成可执行文件,所以不应该在程序内部定义。
我想在文本文件中定义它。我不想编写额外的代码来解析和填充字典。我需要知道是否有任何方法可以在文本文件中定义字典并将其内容直接分配给 python 字典。
像这样:
在文本文件中:
{'a':1,'b':2,'c':3}
注意:实际的值更丰富一些。这只是一个例子。
在节目中:
dict_variable = f.read()
因此,如果您打印变量,它将是一个字典对象:
{'a':1,'b':2,'c':3}
并且可以像dict_variable['a']一样访问。
有什么办法吗?
【问题讨论】:
-
看起来像序列化,看pickle。
-
JSON 会更合适,因为它是人类可读/可修改的。请注意,该示例是无效的语法;它使用列表表示法,但包含键/值。
-
我应该把这个复杂化吗?我只希望用户能够更新值,因为他不熟悉 python 代码,我将提供一个无法更新的可执行文件。:(我已经更正了语法:)
-
我会在这种情况下使用 JSON。
标签: python dictionary