python配置分析器输出问题

python配置分析器输出问题,python,configparser,Python,Configparser,我想将从文件中提取的行添加到节中,该行的形式不是option=value,我使用以下程序: import configparser f = open('inventory_file', 'r') config = configparser.ConfigParser() config.add_section('windows') for line in f: if line[4] == '0': config.set('windows', line, 'None') wi

我想将从文件中提取的行添加到节中,该行的形式不是option=value,我使用以下程序:

import configparser
f = open('inventory_file', 'r')
config = configparser.ConfigParser()
config.add_section('windows')
for line in f:
    if line[4] == '0':
        config.set('windows', line, 'None')

with open('example.cfg', 'w') as configfile:
    config.write(configfile)
库存文件:

W00VL9959061
W01V0909960
W01V090907745
W01V090907746
W01V090908317
W01V090907748
W00VL9968055
我在example.cfg中得到了这个结果:

[windows]
W01V0909960
=无
W01V090907745
=无
W01V090907746
=无
W01V090908317
=无
W01V090907748
=无
我想要这样的东西:

[windows]
W01V0909960
W01V090907745
W01V090907746
W01V090908317
W01V090907748

您知道如何修改脚本以获得预期结果吗?

INI文件具有参数-值对(*事实证明并非总是如此。请参见),因此您要查找的不是INI文件

在这种情况下,您可以手动执行此操作:

with open('inventory_file') as inv, open('example.cfg', 'w') as cfg:
    print('[windows]', file=cfg)
    for line in inv:
        if line[4] == '0':
            print(line, file=cfg, end='')
示例.cfg中输出:

[windows]
W01V0909960
W01V090907745
W01V090907746
W01V090908317
W01V090907748

自Python 3.2以来,您可以将
允许无值
传递给
配置解析器
构造函数(read),以允许没有值的键。然后,您可以使用
config.set(节,键)
获取所需内容:

导入配置解析器
f=打开('inventory_file','r')
config=configparser.configparser(允许\u否\u值=True)
config.add_节(“windows”)
对于f中的行:
如果行[4]=“0”:
config.set('windows',line.rstrip('\n'))
将open('example.cfg','w')作为配置文件:
config.write(配置文件)
生成的文件是:

[windows]
w01v09908960
w01v09907745
w01v09907746
w01v09908317
w01v09907748

我试过了:我得到了这个:cat example.cfg[windows]w01v0909960=None w01v090907745=None w01v090907746=None w01v090908317=None w01v090907748=None我想摆脱=None如果你不需要配置文件,不要使用
ConfigParser
。配置文件将具有
参数=值
格式;如果需要Ansible库存文件,请不要编写配置文件。@JL.Alex如果要添加详细信息,请回答问题。注释不支持预先格式化的文本。