'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() मेथड प्रदान करती है ताकि एक स्क्रिप्ट द्वारा आयात किए गए मॉड्यूल के सेट को निर्धारित किया जा सके।
report()
यह मेथड मानक आउटपुट पर एक रिपोर्ट प्रिंट करती है जो स्क्रिप्ट द्वारा आयात किए गए मॉड्यूल और उनके पथ को सूचीबद्ध करती है, साथ ही वे मॉड्यूल जो गुम हैं या गुम प्रतीत होते हैं।
run_script()
यह मेथड दी गई फ़ाइल की सामग्री का विश्लेषण करती है, जिसमें Python कोड होना चाहिए।
modules
यह मॉड्यूल नामों से मॉड्यूल तक मैपिंग वाला एक डिक्शनरी है।
badmodules
यह उन मॉड्यूल की सूची है जिन्हें लोड नहीं किया जा सका।
उदाहरण
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