编程语言
首页 > 编程语言> > python – 将settings.py配置文件加载到dict中

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