小编典典

在Python中解析.properties文件

python

ConfigParser如果一个人解析一个简单的Java样式.properties 文件,该文件的内容是键值对(即没有INI样式节头),则该模块将引发异常。有一些解决方法吗?


阅读 347

收藏
2020-12-20

共1个答案

小编典典

说您有,例如:

$ cat my.props
first: primo
second: secondo
third: terzo

即将是一种.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')]
2020-12-20