__import__
@Vinayの回答のように関数と、コードのようにtry
/の両方を使用できます。except
for module_name in mymods:
try:
__import__(module_name)
except ImportError:
print "Module %s not found." %(module_name)
または、モジュールを実際にロードせずに可用性を確認するだけで、標準ライブラリモジュールimpを使用できます。
import imp
for module_name in mymods:
try:
imp.find_module(module_name)
except ImportError:
print "Module %s not found." %(module_name)
モジュールを(まだ)ロードせずに、可用性を確認するだけの場合、特にロードに時間がかかるモジュールの場合、これは大幅に高速になる可能性があります。ただし、この2番目のアプローチは、モジュールが存在することを具体的にチェックするだけであり、必要になる可能性のある他のモジュールの可用性はチェックしません(チェックされるモジュールはimport
、ロード時に他のモジュールを試行するため)。正確な仕様に応じて、これはプラスまたはマイナスになる可能性があります!-)