【发布时间】:2011-06-02 00:04:42
【问题描述】:
ConfigParser 要求所有部分、键和值都是字符串;没有惊喜。它具有将值转换为具有getfloat、getint、getboolean 的数据类型的方法。如果您不知道数据类型,可以将 get() 与 eval() 包装起来,以评估字符串,例如:
>>> from ConfigParser import SafeConfigParser
>>> cp = SafeConfigParser()
>>> cp.add_section('one')
>>> cp.set('one', 'key', '42')
>>> print cp.get('one', 'key')
'42'
>>> print eval(cp.get('one', 'key'))
42
>>> cp.set('one', 'key', 'None')
>>> print eval(cp.get('one', 'key'))
None
>>>
有没有更好的方法?我认为评估文件中的文本存在一些严重的安全问题——我承认;我完全信任该文件。
我想我会为此使用pickle,但我真的很想保持配置文件可读。
你会怎么做?
【问题讨论】:
标签: python eval configparser