如何获取内存Python字典的Python 源代码表示?
我决定在阅读Thomas Kluyver的comment关于Rob Galanakis的博客文章Why bother with python and config files?之后提出这个问题。在他的评论中,Thomas状态
但是,如果您想要任何方式更改应用程序内的设置 (就像首选项对话框一样),没有好的方法可以自动完成 写一个正确的Python文件。
答案 0 :(得分:4)
假设它只使用“基本”Python类型,您可以写出结构的repr()
,然后使用ast.literal_eval()
将其读回。
答案 1 :(得分:1)
正如文章所说,你最好使用JSON / YAML或其他格式,但如果你真的想使用Python dict并且只使用基本的Python类型......
写出(尝试使用pformat尝试使其更具人性化):
from pprint import pformat # instead of using repr()
d = dict(enumerate('abcdefghijklmnopqrstuvwxyz'))
open('somefile.py').write(pformat(d))
回读:
from ast import literal_eval
d = literal_eval(open('somefile.py').read())