Я создаю класс, в котором я хочу создать временное рабочее пространство папок, которое будет сохраняться для жизни объекта, а затем будет удалено. Я использую tempfile.mkdtemp() в def init, чтобы создать пробел, но я прочитал, что я не могу полагаться на вызываемый 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)
Есть ли другой/лучший способ справиться с этой очисткой? Я читал о "с", но, похоже, он полезен только в функции.