您的位置:首页 > 编程语言 > Python开发

python动态导入模块、检查模块是否安装

2013-03-25 16:55 393 查看
参考链接:http://www.woodpecker.org.cn/diveintopython/functional_programming/dynamic_import.html

 

一 动态导入模块

 

Python的import不能接受变量,所以应该用 __import__函数来动态导入。

 

如下的代码无法正常导入模块

 
modules = ['OpenSSL', 'Crypto', 'MySQLdb', 'sqlite3', 'zope.interface', 'pyasn1', 'twisted', 'django']
for each in modules:
try:
import each
except Exception, e:
print e


这样导入会抛出 No module named each 的异常

 

将 import each 改为 __import__(each)就可以正常导入了。

 

 

 

二 检查模块是否安装

 

使用__import__函数也可以用来检查模块是否已安装,略微修改上面的代码即可。

 

使用imp.find_module()来检查不方面,如find_module('zope.interface')会抛出异常——因为这个函数无法查找子模块。

 

模块加载后,就可以在sys.module这个字典里找到加载的模块名了。

转自:http://blog.csdn.net/huzhenwei/article/details/5393992
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: