【发布时间】:2019-05-24 12:53:17
【问题描述】:
1。我想做的事
目前,我有一个模块可以在其中调用许多其他模块,并且在其中每个模块中都有其他导入重复,因为它们通常需要相同的方法才能工作。所以,与其重复导入,我想说的是对于这些模块,执行这些导入。
2。到目前为止我想出了什么
到目前为止,我知道如何做到这一点的唯一方法是创建一个具有适当结构的 .json 字典来导入相应的模块。但是,这只是将问题降到最低,因为无论如何每个模块内都应该有 with open(...) 语句。
3。我的“解决方案”代码
{
"import module_x" : [
"module1.py",
"module2.py"
]
}
然后,在module1 和module2 中,我会:
import json
with open(path_to_imports + 'imports.json', 'r') as f:
import_dict = json.load(f)
for key, mods in import_dict.items():
if __file__ in mods:
exec(key)
现在,有没有更好、更 pythonic 的方式来做到这一点?
【问题讨论】:
标签: python python-3.x import python-import