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)
Теперь, есть ли лучший, более питон, как это сделать?