Statik bir kütüphaneden bir işleve bazı işlevleri sarmak için ctypes kullanan bir modülüm var. Modül yüklendiğinde, statik kitaplıktaki bir başlatma işlevini çağırır. Modül kaldırıldığında (muhtemelen tercüman çıktığı zaman), kütüphanede aranmak istediğim bir boşaltma fonksiyonu vardır. Bu kancayı nasıl oluşturabilirim? (?): Bir dekoratör olarak register
kullanılarakBir Python modülünün ne zaman boşaldığını tespit edin
import mymodule
import atexit
# call mymodule.unload('param1', 'param2') when the interpreter exits:
atexit.register(mymodule.unload, 'param1', 'param2')
dokümanlar bir başka basit bir örnek:
atexit uygunsuz/kirli bir çözüm olabilir işlem çatalları vb. Belki de sadece sihiri atlamak ve modül kullanıcısının araması gereken bir "temizleme"/sonlandırma işlevi sağlamak daha iyidir. – u0b34a0f6ae
Eğer çatandınızsa, tüm bellek yapılarını paylaşacağından çocuk sürecini de temizlemek istiyorsunuz. – nosklo
Modülün başka bir durum nedeniyle boşaldığı anı yakalamanın bir yolu var mı? (Örn, eğer bir 'reload' üzerine çağrılırsa?) – max