The ConfigParser
module raises an exception if one parses a simple Java-style .properties
file, whose content is key-value pairs (i..e without INI-style section headers). Is there some workaround?
Say you have, e.g.:
$ cat my.props
first: primo
second: secondo
third: terzo
i.e. would be a .config
format except that it's missing a leading section name. Then, it easy to fake the section header:
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()
usage:
cp = ConfigParser.SafeConfigParser()
cp.readfp(FakeSecHead(open('my.props')))
print cp.items('asection')
output:
[('second', 'secondo'), ('third', 'terzo'), ('first', 'primo')]