2
オプションのモジュールをインポートしようとするときにImportErrorをキャッチしても安全ですか?
通常、このパターンは、作業中のすべてのPythonプロジェクトで少なくとも1回は見られます。たとえば、Djangoプロジェクトでは、これは多くの場合、基本設定ファイルの最後に追加されます。 try: from .local_settings import * except ImportError: pass また: try: import simplejson as json except ImportError: import json これはいつも私を少しでも悩ませてきました。モジュールが正常にインポートされた後、ImportErrorそれ自体がトリガーされるとどうなりますか?たとえば、最初の例では、local_settingsモジュールは存在しますが、local_settings存在しないモジュールをインポートしようとします。 これはオプションのモジュールをインポートする最も安全な方法ですか、この機能を実現するためのより良い方法はありますか?それはコンテキスト/使用法に依存しますか(そうであれば、このアプローチをいつ使用するかを決定するガイドラインは何ですか?)
10
python
exceptions