Я создаю модуль с несколькими классами в нем. Моя проблема заключается в том, что некоторым из этих классов необходимо импортировать очень специфические модули, которые необходимо скомпилировать вручную или для использования определенного оборудования.Импорт по инициализации класса
Нет никакого интереса к импорту каждого конкретного модуля спереди, а поскольку некоторым модулям требуется специальное оборудование для работы, это может даже вызвать ошибки.
Я хотел бы знать, если это возможно импортировать этот модуль только при необходимости, то есть на конкретизации точного класса, например, так:
class SpecificClassThatNeedRandomModule(object):
import randomModule
Кроме того, я не уверен, что это будет хороший питонический способ сделать трюк, поэтому я открыт для предложения для правильного пути.
Я не думаю, что поставить оператор импорта в определении класса задержит его, как вы ожидаете. Тем не менее, вы можете сделать свой импорт в функции, и тогда это произойдет только при первом вызове этой функции. –
Также проверьте [как проверить, был ли импортирован один модуль python?] (Http://stackoverflow.com/questions/5027352/how-to-test-if-one-python-module-has-been-imported). Хорошие вещи существуют на этих постах. – FallenAngel