Computer >> Máy Tính >  >> Lập trình >> Python

Tìm các mô-đun được sử dụng bởi một tập lệnh Python (modulefinder)

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