【问题标题】:Python configparser read a dictionaryPython configparser 读取字典
【发布时间】:2012-02-21 15:50:14
【问题描述】:

我想知道是否有办法在配置文件中建立字典并使用python配置解析器来读取它?

谢谢。

【问题讨论】:

  • 腌制它。 INI 文件不是很通用。
  • Pickle 是一个模块,可让您将 Python 对象转换为字节流。基本上,您可以使用所有必需的选项创建一个Configuration 类,然后将其腌制到一个文件中。当你重新加载它时,它将是你最初腌制的同一个类。
  • 是否可以选择将字典映射到配置文件中的整个部分,并将字典的键映射到该部分中的配置变量?
  • 这就是我的想法,但我认为会有更有效的方法。我想我会那样做的。

标签: python dictionary configparser


【解决方案1】:

使用eval并简单地执行配置文件。

with open('the_config','r') as config_file:
    config= eval( config_file.read() )

您会看到 cmets 告诉您这是邪恶的、安全漏洞以及许多其他事情。但是,它与您的 Python 源代码一样安全。

【讨论】:

  • @ParthG:“请您说得更具体些”。是的。如果您有具体问题,我可以提供更具体的信息。什么让你感到困惑?
【解决方案2】:

configparser 不支持该功能,但也许您有兴趣查看 json 模块。

改编自官方doc的例子:

>>> import json
>>> s = json.dumps({'4': 5, '6': 7}, sort_keys=True, indent=4)
>>> print(s)
{
    "4": 5, 
    "6": 7
}
>>> json.loads(s)
{'4': 5, '6': 7}

【讨论】:

    猜你喜欢
    • 2015-02-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-13
    • 1970-01-01
    相关资源
    最近更新 更多