2016-04-27 63 views
3

使用Python 3.5和ConfigParser。没有分隔符的ConfigParser

我想用一个配置文件是这样的:

[Section] 
key1 
key2 
key3 

即没有值。默认情况下,ConfigParser需要值,但我可以将allow_no_values=True传递给构造函数来处理它。

但是,解析器仍然会尝试分割默认为('=', ':')的分隔符。因此,我的行默认不能包含任何行。但我不想划分任何东西 - 我的线条都不会有价值。

传递分隔符=()或[]或None不起作用。如果使用空列表,它会投诉option '' in section 'Section' already exists,而如果没有,我会得到'NoneType' is not iterable

那么有没有办法确保分裂从未发生?我不得不指出一些我“希望”永远不会被使用的字符。

+0

你的“配置”文件实际上只是一个数据文件。手动读取并解析它。 – martineau

回答

1

您可以设置delimiters=('\n',)这在理论上意味着键/值分隔符是一个换行符,这将不会发生,因为行分隔符也是一个换行符,并且它似乎优先。

+0

不错的主意,工作正常:) – Zitrax