ConfigParser
要求所有部分,鍵和值都是字符串;沒有驚喜。它有方法將值轉換爲數據類型getfloat
,getint
,getboolean
。如果你不知道的數據類型,你可以包裝get()
與eval()
得到了字符串評估,如:將ConfigParser值轉換爲python數據類型
>>> 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
這個,但我真的想保持配置文件的人類可讀性。
你會怎麼做?
我用你的答案創建內容:HTTP://代碼審查。stackexchange.com/questions/2775/python-subclassing-configparser – tMC 2011-06-02 02:22:17