当前,我有一个模块可以在其中调用许多其他模块,并且在它们内部,每个模块中还会重复其他导入操作,因为它们通常需要相同的方法才能工作。因此,我不想重复导入,而是对这些模块说,执行这些导入。
到目前为止,我唯一知道的方法是创建具有适当结构的.json
字典,以导入相应的模块。但是,这只会使问题最小化,因为无论如何每个模块内都应该有with open(...)
条语句。
{
"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 方式呢?