Автоматическая (де) инициализация при импорте модуля - PullRequest
1 голос
/ 16 сентября 2011

В Python, где модуль нуждается в какой-то инициализации, для того, чтобы сделать это автоматически, вы можете просто поместить код в модуль (с нулевым отступом) для выполнения при первом импорте (верно?).Есть ли способ сделать автоматическую деинициализацию, когда приложение закрывается и модули собираются?

Ответы [ 2 ]

0 голосов
/ 28 января 2012

Вот один способ, который я нашел, чтобы сделать это:

class __ModuleInitializer:
    def __init__(self):
        print('Module was initialized')

    def __del__(self):
        print('Module was deinitialized')

__module_init = __ModuleInitializer()
0 голосов
/ 16 сентября 2011

Звучит так, будто вы специально хотите написать метод module.init() и метод module.stop()

. Лично я НЕНАВИЖУ вещи, выполняемые в модуле, когда я импортирую его, по крайней мере, предоставьте мне выбор, когда я хочувыполнить его.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...