Python ConfigParser:输入节名称作为变量

问题描述 投票:0回答:1

我想从.cnf文件中读取数据。它可能有很多部分,所以我想自动读出它们。我的代码看起来像这样:

while numberOfSections > 0:
    check = parser.get(numberOfSections, "check")
    hostname = parser.get(numberofSections, "hostname")
    ip = parser.get(numberofSections, "IP")
    port = parser.get(numberofSections, "port")
    request = parser.get(numberofSections, "request")

现在不幸的是,它只是说“没有部分:5”。我在这个例子中的numberofSections变量是5,所以就是这样。这些部分的名称如下:

[1]
check = ''
hostname = ''
IP = ''
port = ''
request = ''

[2]
check = ''
hostname = ''
IP = ''
port = ''
request = ''

[3]
check = ''
hostname = ''
IP = ''
port = ''
request = ''

...

那么,有什么想法吗?我是python的新手,所以请慢慢解释一下。

python configparser
1个回答
3
投票

因为你使用No section: 5循环并始终使用while参数,因此返回了异常true

你应该使用for循环,例如:

for section in config.sections():
    check = parser.get(section, "check")
    hostname = parser.get(section, "hostname")
    ip = parser.get(section, "IP")
    port = parser.get(section, "port")
    request = parser.get(section, "request")
© www.soinside.com 2019 - 2024. All rights reserved.