ConfigParser如果一个人解析一个简单的Java样式.properties 文件,该文件的内容是键值对(即没有INI样式节头),则该模块将引发异常。有一些解决方法吗?
ConfigParser
.properties
说您有,例如:
$ cat my.props first: primo second: secondo third: terzo
即将是一种.config格式,除了它缺少开头部分的名称。然后,很容易伪造节标题:
.config
import ConfigParser class FakeSecHead(object): def __init__(self, fp): self.fp = fp self.sechead = '[asection]\n' def readline(self): if self.sechead: try: return self.sechead finally: self.sechead = None else: return self.fp.readline()
用法:
cp = ConfigParser.SafeConfigParser() cp.readfp(FakeSecHead(open('my.props'))) print cp.items('asection')
输出:
[('second', 'secondo'), ('third', 'terzo'), ('first', 'primo')]