我认为您不能ConfigParser
将冒号视为键/值分隔符。因此,如果您使用冒号,主机名将被解释为键,这对您不起作用,因为它们不是唯一的。因此,您可能必须将冒号更改为其他内容。那么您的条目将是独一无二的。ConfigParser
支持没有值的键:
In [1]: from ConfigParser import ConfigParser
In [2]: cp = ConfigParser(allow_no_value=True)
In [3]: cp.read('foo.conf')
Out[3]: ['foo.conf']
In [4]: cp.items('servers')
Out[4]:
[('localhost;1111', None),
('localhost;2222', None),
('localhost;3333', None),
('someserver;2222', None),
('someserver;3333', None)]
另一种选择是为每一行添加一个唯一的 ID,并用冒号分隔。其余的将成为值:
In [1]: from ConfigParser import ConfigParser
In [2]: cp = ConfigParser()
In [3]: cp.read('foo.conf')
Out[3]: ['foo.conf']
In [4]: cp.items('servers')
Out[4]:
[('1', 'localhost:1111'),
('2', 'localhost:2222'),
('3', 'localhost:3333'),
('4', 'someserver:2222'),
('5', 'someserver:3333')]