python - 如何检查模块是否被导入
问题描述
我使用 numpy 和 scipy 进行数据分析。我想在我定义的函数中编写代码,以便在调用该函数时检查是否导入了 numpy,如果未导入,则应该导入它。
如何检查是否导入了任何模块,例如 numpy?
解决方案
您可以sys.modules
在sys
模块中使用:
>>> import sys
>>> import numpy
>>> 'numpy' in sys.modules
True
所以你的功能可能是:
def is_imported(module):
return module in sys.modules
True
从评论中,如果您使用过,您还想返回
from skimage.morphology import watershed
您可以使用以下方法检查函数是否在当前命名空间中dir()
>>> 'watershed' in dir()
False
>>> from skimage.morphology import watershed
>>> 'watershed' in dir()
True
要使用字符串导入模块,您可以使用importlib.import_module()
:
>>> import importlib
>>> importlib.import_module('numpy')
推荐阅读
- python-3.x - 在继续之前打开 kivy 弹出窗口
- python-3.x - 具有列表值的字典理解
- php - 分配 Carbon 日期对象时使用 now() 更新日期字段
- haskell - 使用 Aeson 解析嵌套数组和对象
- python - 如何有效地将 sympy 中的术语分组以进行 lambdafication?
- r - 正则表达式删除特定字符之前的所有数字(在 R 中工作)
- r - 如何将向量除以R中的标量并绘制它
- docker - 豆荚死了。容器在 K8s 1.13 中启动
- github - 如何将协作者添加到特定的 Github 存储库并将其也显示在他们的个人资料中
- plsql - 搜索满足多个条件的数据