如何检查一个 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
广告