Python 我可以在配置文件变量名中使用星号吗?
我使用配置解析器指定变量列表,然后从一个更大的文件中提取这些变量的值。较大文件中的变量/行都如下所示:Python 我可以在配置文件变量名中使用星号吗?,python,configparser,Python,Configparser,我使用配置解析器指定变量列表,然后从一个更大的文件中提取这些变量的值。较大文件中的变量/行都如下所示: callCount.1.cell=2 callCount.2.cell=10 callCount.3.cell=12 我是否可以使用“*”作为通配符来代替数字,而不是具体列出所有这些变量,如下所示: [variablesToPull] callCount.*.cell 我无法更改从中提取值的较大文件的格式,并且我不总是知道变量中的数字是什么 编辑:我正在使用Python2.7进行所有的
callCount.1.cell=2
callCount.2.cell=10
callCount.3.cell=12
我是否可以使用“*”作为通配符来代替数字,而不是具体列出所有这些变量,如下所示:
[variablesToPull]
callCount.*.cell
我无法更改从中提取值的较大文件的格式,并且我不总是知道变量中的数字是什么
编辑:我正在使用Python2.7进行所有的配置解析,我想这是不可能的。最后,我在配置文件中只使用了所需变量名的第一部分
[variablesToPull]
callCount
然后,我从存储变量名和值的完整列表的文件中创建了一个字典(以下所有代码都适用于Python2.7,它可能适用于Python3,但可能需要一些语法更改)
然后,我循环使用这个字典,创建了一个新的要提取的特定变量列表(如callCount.1.cell、callCount.2.cell等)
起初,我不想做太多的循环,因为担心性能下降(我的变量文件有10000行),但它似乎没有明显地降低我的脚本速度
希望这有助于其他人
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()
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)