पायथन 2 में यह जांचने के लिए कि क्या आप कुछ इम्पोर्ट कर सकते हैं, आप `imp` मॉड्यूल का उपयोग `try...except` के साथ कर सकते हैं।
विधि 1: imp मॉड्यूल का उपयोग (पायथन 2)
import imp
try:
imp.find_module('eggs')
found = True
except ImportError:
found = False
print(found)
आउटपुट: False
विधि 2: pkgutil.iter_modules का उपयोग
आप `pkgutil` मॉड्यूल से `iter_modules` का उपयोग करके सभी मॉड्यूल पर पुनरावृति (iterate) कर सकते हैं और निर्दिष्ट मॉड्यूल मौजूद है या नहीं जांच सकते हैं।
from pkgutil import iter_modules
def module_exists(module_name):
return module_name in (name for loader, name, ispkg in iter_modules())
print(module_exists('scrapy'))
आउटपुट: True (क्योंकि यह मॉड्यूल मेरे पीसी पर इंस्टॉल है)
विधि 3: कमांड लाइन से जांचें
यदि आप केवल शेल में जांचना चाहते हैं, तो आप इसका उपयोग कर सकते हैं:
python -c "help('modules');" | grep yourmodule
पायथन 3.4+ के लिए आधुनिक दृष्टिकोण
import importlib.util
def module_exists(module_name):
spec = importlib.util.find_spec(module_name)
return spec is not None
# उपयोग
print(module_exists('requests')) # True/False
print(module_exists('nonexistent_module')) # False
सारांश
| विधि | पायथन संस्करण | नोट्स |
|---|---|---|
| imp.find_module | 2.x केवल | पायथन 3.12+ में हटाया गया |
| pkgutil.iter_modules | 2.x, 3.x | सभी उपलब्ध मॉड्यूल सूचीबद्ध करता है |
| importlib.util.find_spec | 3.4+ | अनुशंसित आधुनिक तरीका |