У меня есть модуль, который импортирует модуль, но в некоторых случаях импортируемый модуль может не существовать. После того, как модуль импортирован, класс наследует от импортируемого модуля. Если бы я должен был поймать исключение ImportError
в случае, если модуль не существует, как я могу остановить Python от разбора остальной части модуля? Я открыт для других решений, если это невозможно.
Вот базовый пример (selfaware.py):
try:
from skynet import SkyNet
except ImportError:
class SelfAwareSkyNet():
pass
exit_module_parsing_here()
class SelfAwareSkyNet(SkyNet):
pass
Единственный способ, которым я могу думать, это:
- Перед импортом модуля
selfaware.py
проверьте, доступен ли модуль skynet
, и просто передайте или создайте класс-заглушку. Это приведет к СУХОЙ, если selfaware.py
импортирован несколько раз.
Внутри selfaware.py
есть класс, определенный в блоке try
. e.g.:
try:
from skynet import SkyNet
class SelfAwareSkyNet(SkyNet):
pass
except ImportError:
class SelfAwareSkyNet():
pass