如何在Python中使用ConfigObj创建配置列表?

时间:2017-04-12 13:35:09

标签: python python-2.7 configobj

我在Python中使用ConfigObj从我的配置文件中读取。我需要从配置文件中读取列表列表。这是我到目前为止所尝试的内容:

  1. 部分和小节 - 创建词典,而不是列表
  2. list_of_lists = (1, 2, (3, 4)) - ConfigObj将所有内容视为字符串,并生成列表['(1', '2', '(3', '4))']
  3. 我想要的(在Python上下文中)是这样的: list_of_lists = [1, 2, [3, 4, ]]

    有人可以建议一种方法吗?我也对替代品持开放态度。提前谢谢。

2 个答案:

答案 0 :(得分:1)

这是使用configparaser

的替代方法
# Contents of configfile
[section1]
foo=bar
baz=oof
list=[1,2,[3,4,]]

获取列表列表的代码:

import configparser
import ast
cfg = configparser.ConfigParser()
cfg.read_file(open('configfile'))
s1 = cfg['section1']
list_of_lists = ast.literal_eval(s1.get('list')
print list_of_lists

# output
# [1, 2, [3, 4]]

答案 1 :(得分:0)

试试这个,

# Read a config file
from configobj import ConfigObj
config = ConfigObj(filename)

# Access members of your config file as a dictionary. Subsections will also be dictionaries.

value1 = config['keyword1']
value2 = config['section1']['keyword3']

请参阅ConfigObj Documentation