Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

จะตรวจสอบว่ามีโมดูล python อยู่โดยไม่ได้นำเข้าได้อย่างไร


ในการตรวจสอบว่าคุณสามารถนำเข้าบางสิ่งใน Python 2 ได้หรือไม่ คุณสามารถใช้โมดูล imp โดยลอง...ยกเว้น ตัวอย่างเช่น

import imp
try:
    imp.find_module('eggs')
    found = True
except ImportError:
    found = False
print found

สิ่งนี้จะให้ผลลัพธ์แก่คุณ:

False

คุณยังสามารถใช้ iter_modules จากโมดูล pkgutil เพื่อวนซ้ำทุกโมดูลเพื่อดูว่ามีโมดูลที่ระบุอยู่หรือไม่ ตัวอย่างเช่น

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

นี่เป็นเพราะว่าโมดูลนี้ถูกติดตั้งบนพีซีของฉัน

หรือถ้าแค่อยากเช็คในเชลล์ก็ใช้ได้เลย

python -c "help('modules');" | grep yourmodule