在循环中运行Python配置内容

2024-10-01 09:17:37 发布

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

我有一个自动生成的文件,其中有格式的数据 配置.py

abc = {'Id':894, 'list':4, 'visibleCtx':60}
pqr = {'Id':84, 'list':3, 'visibleCtx':01}
xyz = {'Id':94, 'list':2, 'visibleCtx':10}
...
..
.

我想循环这个配置文件的内容

while True:
    graphicalUI.setGraphsCtx(Config.(list_in_configFile))

但我看不出这是怎么做到的? 我试过RegEx根据“=”分割每一行并运行它。你知道吗

但我们能用其他更平滑的方法吗?你知道吗


Tags: 文件数据pyidtrue内容格式配置文件
2条回答

如果文件是有效的python文件,为什么不按原样导入并使用值呢。你知道吗

此外,您还可以在使用magic方法__dict__https://docs.python.org/2/library/stdtypes.html#object.dict导入文件之后进行查看

另一种选择是使用另一种格式,如config filehttps://docs.python.org/2/library/configparser.html或jsonhttps://docs.python.org/2/library/json.html或yamlhttp://pyyaml.org/。这些都创建了可以迭代的对象

import将文件作为模块,并对模块对象运行dir()以获取其变量。你知道吗

您还可以使用以下方法筛选出特殊的__变量:

import module
var_names = [v for v in dir(module) if not v.startswith("__")]

过滤任何其他不感兴趣的变量。一旦有了它,就可以得到实际值:

config = { name: getattr(module, name) for name in var_names } 

相关问题 更多 >