我有一个包含两个部分的配置文件:
[Test]
sample1=abc
test1=123
test2=xxx
[Test2]
sample2=abc
test2=123
test2=xxx
我正在使用配置解析器来读取每个名称和值。但问题是这个列表是动态的,不会是相同的' sample1',' test1',' test2'一直以来。
因此,对于当前部分,我的输出将是
test-string=abc, 123, xxx
test-string2=abc, 123, xxx
如果将两个新值作为xyz和456添加到此测试部分,那么我的输出将是
test-string=abc, 123, xxx, xyz, 456
。
test-string2=abc, 123, xxx
此文件将来会有更多部分,我希望每个部分都这样做。
除了configparser之外还有其他选择吗?
由于
答案 0 :(得分:1)
我不确定问题是什么,但我猜你的文件会是这样的
[Section1]
somekey=val
anotherkey=val
wedontknowthesekeys=val
...
你需要获得key,value
对,而不知道密钥是什么。这并不难。
import configparser
config = configparser.ConfigParser()
config.read('path/to/config.ini')
sections = config.sections() # does not include defaults!
for section in sections:
items = config.items(section)
# items == [("somekey", "val"),
# ("anotherkey", "val"),
# ("wedontknowthesekeys", "val"),
# ...]
答案 1 :(得分:0)
这闻起来像字典的典型输入。假设您已经在行中读取了一个字符串,例如“sample = abc”。现在......
ref_dict = {}
for line in my_file:
key, value = line.split('=')
ref_dict[key] = value
print ref_dict