如何在python配置文件中存储字典和列表?

90a*_*yss 1 python config

我正在使用config.ini文件来存储我的所有配置.

我需要在配置文件中存储字典和列表,并使用configparser在我的main.py文件中解析它.谁能告诉我我该怎么做呢?

config.ini文件:

[DEFAULT] 
ADMIN = xyz 
SOMEDICT = {'v1': 'k1', 'v2': 'k2'}
SOMELIST = [v1, v2]
Run Code Online (Sandbox Code Playgroud)

main.py:

config = configparser.ConfigParser() 
config.read('config.ini') 
secret_key = config['DEFAULT']['ADMIN']
Run Code Online (Sandbox Code Playgroud)

如果没有办法做到这一点,以json格式配置是一个不错的选择吗?

Dan*_*man 7

ConfigParser只会将这些元素作为字符串提供给您,然后您需要解析它们.

作为替代方案,YAML是配置文件的不错选择,因为它易于人类阅读.您的文件可能如下所示:

DEFAULT:
    ADMIN: xyz
    SOMEDICT:
        v1: k1
        v2: k2
    SOMELIST:
        - v1
        - v2
Run Code Online (Sandbox Code Playgroud)

并且Python代码将是:

import yaml
with open('config.yml') as c:
    config = yaml.load(c)
config['DEFAULT']['SOMEDICT']
Run Code Online (Sandbox Code Playgroud)