Определить, когда модуль Python выгружается - PullRequest
7 голосов
/ 20 февраля 2009

У меня есть модуль, который использует ctypes для переноса некоторых функций из статической библиотеки в класс. Когда модуль загружается, он вызывает функцию инициализации в статической библиотеке. Когда модуль выгружен (предположительно при выходе из интерпретатора), в библиотеке есть функция выгрузки, которую я хотел бы вызвать. Как я могу создать этот хук?

1 Ответ

15 голосов
/ 20 февраля 2009

Используйте модуль atexit :

import mymodule
import atexit

# call mymodule.unload('param1', 'param2') when the interpreter exits:
atexit.register(mymodule.unload, 'param1', 'param2')

Другой простой пример из документов, использующий register в качестве декоратора:

import atexit

@atexit.register
def goodbye():
    print "You are now leaving the Python sector."
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...