【发布时间】:2017-07-23 10:37:31
【问题描述】:
有什么好的方法可以根据一些变量值导入不同的模块吗? 我的例子:
我有一个包含不同模块的文件夹:
- module_a.py
- module_b.py
在其他一些 python 文件中,我想根据一些配置值导入 module_a 或 module_b:
if configVal == 'a':
import module_a
elif configVal == 'b':
import module_b
有什么方法可以避免使用 if-elifs 吗?所以不知何故自动?
喜欢:
@conditionalImport(configVal)
import module_
或者是什么聪明的东西?
【问题讨论】:
-
如果您担心模块数量过多,您可以通过编程方式调用
importlib.import_module()来自动执行此类任务。对于 2,您将避免使用更多代码。 -
请注意,使用
if来决定导入哪个模块是完全正常的。看一下官方osmodule源码。
标签: python import conditional