python - 运行存储在列表中的各个 python import 语句

标签 python python-3.x python-2.7 python-import try-except

我有一个要导入的库列表,但其中一些可能不在文件系统中。

基本上,我想做这样的事情:

list_of_imports = ['from path1.path2.path3 import x', 'from path1.path2.path4 import y', 'from path1.path2.path3 import z', 'from path1.path2.path2 import a']

for statement in list_of_imports:
    try:
        execute statement
    except:
        ignore error and import the next statement

我想这样做的原因是因为列表中的某些库可能不在文件系统中,并且我不希望一次失败使整个文件引发导入错误。

我该怎么做?

最佳答案

你可以这样尝试:

list_of_imports = ['from path1.path2.path3 import x', 'from path1.path2.path4 import y', 'from path1.path2.path3 import z', 'from path1.path2.path2 import a']

for statement in list_of_imports:
    try:
        exec(statement)
    except ImportError as e:
        continue

说明:

使用exec()迭代列表中的每个元素,您可以执行这些import语句。因此,如果没有错误,它将导入该模块

关于python - 运行存储在列表中的各个 python import 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50481023/

相关文章:

python - 是否可以在 motor 中对集合进行子类化?

python libtorrent save_state

Python elasticsearch-dsl django 分页

python - Django:从数据库生成模型与从模型生成数据库

python -/usr/include/boost/python/detail/wrap_python.hpp :50:23: fatal error: pyconfig. h: 没有那个文件或目录

Python 类/总是返回 0

python - 在 python 2.7 中连接两个嵌套的子列表

python - 将 csv 数据加载到 pandas 数据帧后如何添加 MultiIndex?

python - 如何在python 3中将unicode字符转换为\Uxxxxxxxx格式

Python导入模块导入另一个模块