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

2024-10-03 15:29:26 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用配置解析器来指定变量列表,然后从一个更大的文件中提取这些变量的值。较大文件中的变量/行都如下所示:

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

我可以用'*'作为通配符来代替数字,而不是具体列出所有这些变量,如下所示:

[variablesToPull]  
callCount.*.cell

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

EDIT:我正在使用python2.7来完成所有的配置解析


Tags: 文件解析器列表格式cell数字edit通配符
1条回答
网友
1楼 · 发布于 2024-10-03 15:29:26

我四处看了一会儿,觉得不可能。最后我只在配置文件中使用了所需变量名的第一部分

[variablesToPull]
callCount

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

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等)

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行),但它似乎没有明显地降低我的脚本速度。你知道吗

希望这能帮助别人

相关问题 更多 >