'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()
এই মেথডটি দেওয়া ফাইলের কন্টেন্ট বিশ্লেষণ করে, যেটিতে অবশ্যই পাইথন কোড থাকতে হবে।
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