擅长:python、mysql、java
<p>Alex Martelli<a href="https://stackoverflow.com/questions/2819696/parsing-properties-file-in-python/2819788#2819788">provided a solution</a>用于使用ConfigParser解析类似的文件(这些文件是无节文件)。
他的解决方案是一个类似文件的包装器,它将自动插入一个伪节。</p>
<p>您可以将上述解决方案应用于解析rsyncd配置文件。</p>
<pre><code>>>> class FakeGlobalSectionHead(object):
... def __init__(self, fp):
... self.fp = fp
... self.sechead = '[global]\n'
... def readline(self):
... if self.sechead:
... try: return self.sechead
... finally: self.sechead = None
... else: return self.fp.readline()
...
>>> cp = ConfigParser()
>>> cp.readfp(FakeGlobalSectionHead(open('rsyncd.conf')))
>>> print(cp.items('global'))
[('path', '/data/ftp'), ('pid file', '/var/run/rsyncdpid.pid'), ...]
</code></pre>