第10.2节 查看导入的Python模块

在Python中,要查看导入模块,可以使用sys.modules来查看,不过sys包含了所有导入模块包括内建模块,如果需要过滤掉内建模块甚至扩展模块,则需要对sys.modules进行一下过滤。

一、 查看所有导入模块

import sys
for m in sys.modules:print('模块名:',m,', 模块来源: ',sys.modules[m])

二、 查看过滤内建模块的导入模块
内建模块来源有标记“(built-in)”,因此可以通过来源来识别。

import sys
for m in sys.modules:
	if str(sys.modules[m]).find(r'(built-in)')==-1:print('模块名:',m,', 模块来源: ',sys.modules[m])

三、 查看过滤了内建模块和扩展模块的导入模块
扩展模块应该安装在Python的系统目录下,老猿建议将自定义模块不要安装到Python系统目录下,因此在此老猿认为凡是在Python系统目录下的模块都是扩展模块和内键模块,其他目录下的才是自定义模块,如果你的目录规划与此不同,则需要根据目录结构进行调整。
下面的例子中Python系统目录为:C:Program FilesPython37。

import sys
for m in sys.modules:
	if str(sys.modules[m]).find(r'(built-in)')==-1 and str(sys.modules[m]).find(r'C:\Program Files\Python37')==-1 :print('模块名:',m,', 模块来源: ',sys.modules[m])

执行结果截图:
在这里插入图片描述
注意:
1、上面的目录是原始字符串的两个反斜杠。
2、经过过滤后还有些模块其实也不是自定义模块,老猿也没去研究这些模块的来源,因此没有剔除。

本节简单介绍了查看导入模块,内容并不复杂,其实除了上面介绍的利用sys.modules查看导入的模块,还可以利用help(‘modules’)查看模块。

老猿Python,跟老猿学Python!
博客地址:https://blog.csdn.net/LaoYuanPython

请大家多多支持,点赞、评论和加关注!谢谢!

原文地址:https://www.cnblogs.com/LaoYuanPython/p/13643658.html