“ 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