我可以在配置文件变量名中使用星号*吗?

时间:2017-06-05 20:09:30

标签: python configparser

我正在使用Config Parser指定变量列表,然后从较大的文件中提取这些变量的值。较大文件中的变量/行都如下所示:

callCount.1.cell=2
callCount.2.cell=10
callCount.3.cell=12

不是专门列出所有这些变量,而是能够使用'*'作为通配符代替数字,如下所示:

[variablesToPull]  
callCount.*.cell

我无法更改我从中提取值的较大文件的格式,而且我并不总是知道变量之间的数字是什么。

编辑:我正在使用Python 2.7来完成所有的Config Parsing

1 个答案:

答案 0 :(得分:0)

环顾四周后,我认为不可能。我最终只在配置文件

中使用了所需变量名的第一部分
[variablesToPull]
callCount

然后我从存储变量名称和值的完整列表的文件中创建了一个字典(以下所有代码都适用于Python 2.7,它可能适用于Python 3,但可能需要进行一些语法更改)

f = open(variable_names_and_values_file, 'r')
dict_of_vars= {}
for line in f:
    k, v = line.strip().split('=')
    dict_of_vars[k.strip()] = v.strip()
f.close()

然后我循环使用这个字典并创建了一个新的特定变量列表(如callCount.1.cell,callCount.2.cell,ect ......)

new_variables= []
for var in partial_variable_names_from_config_file:
    for data in dict_of_vars:
        if var in data:
            new_variables.append(data)

最初我不想做太多的循环,因为害怕性能下降(我的变量文件有10000行),但它似乎没有让我的脚本减慢一个明显的数量。

希望这可以帮助那些人