Lớp ModuleFinder trong mô-đun 'modulefinder' có thể xác định tập hợp các mô-đun được nhập bởi một tập lệnh nhất định. Mô-đun này có giao diện dòng lệnh cũng như giao diện lập trình.
Để trình bày chức năng, hãy sử dụng tập lệnh sau
#modfinder.py import hello try: import trianglebrowser import nomodule,mymodule except ImportError: pass
Giao diện dòng lệnh
Lệnh sau sẽ hiển thị danh sách các mô-đun nằm cũng như không tìm thấy.
E:\python37>python -m modulefinder modfinder.py
Đầu ra
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__
Giao diện có lập trình
Công cụ tìm mô-đun lớp trong mô-đun này cung cấp các phương thức run_script () và report () để xác định tập hợp các mô-đun được nhập bởi một tập lệnh.
báo cáo ()
Phương pháp này in một báo cáo ra đầu ra tiêu chuẩn liệt kê các mô-đun được nhập bởi tập lệnh và đường dẫn của chúng, cũng như các mô-đun bị thiếu hoặc dường như bị thiếu.
run_script ()
Phương pháp này phân tích nội dung của tệp đã cho, tệp này phải chứa mã Python.
mô-đun
Đây là từ điển ánh xạ tên mô-đun thành các mô-đun.
mô-đun xấu
Đây là danh sách các mô-đun không thể tải được.
Ví dụ
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)
Đầu ra
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