查找Python脚本使用的模块(modulefinder)

“ modulefinder”模块中的ModuleFinder类可以确定由某个脚本导入的模块集。该模块具有命令行界面和编程界面。

为了演示功能,请使用以下脚本

#modfinder.py
import hello
try:
   import trianglebrowser
   import nomodule,mymodule
except ImportError:
   pass

命令行界面

以下命令显示已找到和未找到的模块的列表。

E:\python37>python -m modulefinder modfinder.py

输出结果

Name File
---- ----
m __main__ modfinder.py
m hello hello.py
m math
m trianglebrowser trianglebrowser.py

Missing modules:
? mymodule imported from __main__
? nomodule imported from __main__

程序界面

此模块中的ModuleFinder类提供run_script()和report()方法,以确定脚本导入的模块集。

报告()

此方法将报告打印到标准输出,该报告列出了脚本导入的模块及其路径,以及缺少或似乎缺少的模块。

run_script()

此方法分析给定文件的内容,该文件必须包含Python代码。

模组

这是将模块名称映射到模块的字典。

坏模块

这是无法加载的模块的列表。

示例


import modulefinder
modfind=modulefinder.ModuleFinder()
modfind.run_script('modfinder.py')
print ('Modules loaded:')
for k,v in modfind.modules.items():
   print (k,v)
print ('not found:')
for i in modfind.badmodules.keys():
   print (i)

输出结果

Modules loaded:
__main__ Module('__main__', 'modfinder.py')
hello Module('hello', 'E:/python37\\hello.py')
trianglebrowser Module('trianglebrowser', 'E:/python37\\trianglebrowser.py')
math Module('math')
not found:
nomodule
mymodule