คลาส 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 class ในโมดูลนี้มีเมธอด 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