คลาส 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