python – 将settings.py配置文件加载到dict中
作者:互联网
假设我有一个名为settings.py的文件,其内容如下:
{
"translate_tabs_to_spaces": True,
"word_wrap": "true",
"font_face": "Monaco",
"font_size": 14.0,
"highlight_line": True,
"ignored_packages":
[
""
],
"what": '''
This is python file, not json
'''
}
如何在主应用程序文件app.py中将其设置为名为settings的dict?
谢谢.
解决方法:
您可以使用ast.literal_eval()
安全地执行此操作.
import ast
data="""\
{
"translate_tabs_to_spaces": True,
"word_wrap": "true",
"font_face": "Monaco",
"font_size": 14.0,
"highlight_line": True,
"ignored_packages":
[
""
],
"what": '''
This is python file, not json
'''
}\
"""
print(ast.literal_eval(data))
给我们:
{'what': '\n This is python file, not json\n ', 'font_size': 14.0, 'translate_tabs_to_spaces': True, 'font_face': 'Monaco', 'word_wrap': 'true', 'highlight_line': True, 'ignored_packages': ['']}
编辑:
鉴于提问者的新评论暗示他希望能够在他的配置中使用…,ast.literal_eval()将不适合,因为它无法处理省略号.目前尚不清楚这是否是他的意思,这仍然是对所提问题的一个很好的答案.
事实证明提问者正在谈论三重引用字符串,这是正确处理的.
标签:python,configuration,configuration-files 来源: https://codeday.me/bug/20190902/1789179.html