根据动态列表从 ini 文件中检索多个配置密钥

Retrieve multiple configuration keys from ini file based on dynamic list

我无法将列表的值传递给 for 循环,该循环将 return 在运行时在配置文件中分配给它的值。

我的配置文件是 demo.ini:

[DEMFILE]
Name='XYZABC'
Surname='TYUIO'
Code='123'
City='Kolkata'

我有一个列表,其中包含如下参数:

from configparser import ConfigParser
mylist=['Name','Code']
mylist_count=len(mylist)
   
dmfg=config_object["DEMFILE"]


for i in range(mylist_count):
    getValue=dmfg[i] # ---> Throws error 
    print(f'The value of {i} is : {getValue}')   

getValue 的预期输出如下所示:

The value of Name is : XYZABC
The value of City is : Kolkata

我想要列表中应该检查配置文件的任何值和return分配给它的输出。

例如:Name --> XYZABC(来自配置文件)。

您可以创建 ConfigParser 的实例,读取 .ini 文件并使用键而不是其索引来检索值:

Python 3.9.0 (tags/v3.9.0:9cf6752, Oct  5 2020, 15:34:40) [MSC v.1927 64 bit (AMD64)] on win32
>>> from configparser import ConfigParser
>>> config = ConfigParser()
>>> config.read("demo.ini")
['demo.ini']
>>> keys = ["Name", "Code"]
>>> vals = [config["DEMFILE"][x] for x in keys]
>>> vals
["'XYZABC'", "'123'"]

如果引号看起来很奇怪,请配置值 typically aren't quoted。从配置中删除引号或使用 [x[1:-1] for x in vals].

删除它们