我想通过编写一些带有变量赋值和函数的Python代码来保存复杂的配置,稍后我将通过ConfigReader类导入这些代码和函数。
基本上到目前为止,我已经编写了我的配置文件:
a=1
一个像
c=ConfigReader("C:my_file")
print(c.a)
为此,我使用了exec(),但现在我也希望配置文件知道自己的文件名(因为目录提供了一些变量的信息)
所以我需要一个配置文件,比如:
a=parse_project_number_from_dir(__file__)
似乎我需要用Python 3中的一些imp模块加载来代替exec()?这是执行一个简单文件使其知道其路径的最简单方法吗?
此外,我希望我的ConfigReader类将所有变量读入字典。(对于exec,我只是查看了locals())。我现在应该做什么?我可以不导入配置文件中的辅助导入(如parse_project_number_from_dir函数),而是导入我在那里实际定义的内容(即a=)吗?