オブジェクトの存続期間中存続し、その後削除されるフォルダーの一時ワークスペースを生成するクラスを作成しています。def initで tempfile.mkdtemp() を使用してスペースを作成していますが、 delが呼び出されることに依存できないことを読みました。
私はこのようなものが欲しいです:
class MyClass:
def __init__(self):
self.tempfolder = tempfile.mkdtemp()
def ... #other stuff
def __del__(self):
if os.path.exists(self.tempfolder): shutil.rmtree(self.tempfolder)
このクリーンアップを処理する別の/より良い方法はありますか? 「with」について読んでいましたが、関数内でのみ役立つようです。