私は、オブジェクトが削除されたときはいつも、__del__
が呼び出されたことを知りました。doesnotguaranteeすなわち 、del x
は必ずしもデストラクタx.__del__()
を起動しないありません。信頼性の高い方法で__del__を使用するには?
適切なオブジェクトのクリーンアップを確実にするには、context manager(with
ステートメント内)を使用する必要があります。
私はそれが愚かだと知っていますが、いくつか理由があります(理由は問いません)。私はPython 2.4のシステムに縛られています。したがって、コンテキストマネージャは疑問に思っていません(これらはPython 2.5で導入されました)
代わりの解決策が必要です。したがって、私の質問:__del__
を確実に使用するのに役立つベストプラクティスがありますか?私は
それとも私だけだ,,,「(私はどのように把握する愚かによ)Pythonは、このような機能を提供する場合、それは効率的に使用することができる方法がなければならない」の方向に考えています素朴で、__del__
を忘れて、まったく別のアプローチに移行する必要がありますか?
問題はPython *がその機能を提供していますが、悲しいことに、あなたが持っているバージョンではありません。 – Joe