__del__
функция вызывается только тогда, когда объект разрушен, то есть когда ни один объект больше не ссылается на него, когда происходит сбор мусора.
Либо посмотрите, какой объект все еще ссылается на ваш класс, когда вы отпускаете егоили реализуйте явный метод завершения работы в вашем классе.
Опасно полагаться на метод __del__
для освобождения ресурсов, поскольку объект не разрушается, когда мы думаем, что это так.
Отдокументация python
Некоторые объекты содержат ссылки на «внешние» ресурсы, такие как открытые файлы или окна.Понятно, что эти ресурсы освобождаются, когда объект собирается сборщиком мусора, но поскольку сборка мусора не гарантируется, такие объекты также предоставляют явный способ освобождения внешнего ресурса, обычно это метод close ().Программам настоятельно рекомендуется явно закрывать такие объекты.Оператор try ... finally предоставляет удобный способ сделать это.