如何检查一个 python 模块是否存在?而不导入它?


要在 Python 2 中检查是否可以导入某个模块,可以使用 imp 模块和 try...except 语法。例如:

import imp
try:
    imp.find_module('eggs')
    found = True
except ImportError:
    found = False
print found

这将输出

False

还可以使用 pkgutil 模块的 iter_modules 遍历所有模块来查找指定的模块是否存在。例如:

from pkgutil import iter_modules
def module_exists(module_name):
    return module_name in (name for loader, name, ispkg in iter_modules())
print module_exists('scrapy')

这将输出

True

这是因为我的电脑上安装了这个模块。

也可以在 shell 中使用以下方法:

python -c "help('modules');" | grep yourmodule

更新于:2019 年 10 月 1 日

867 次浏览

启动你的职业发展之路

完成课程获得认证

开始
广告