from contextlib import contextmanager
import time
import random
import os
import shutil
@contextmanager
def my_tempdir():
print("start return")
tmpdir = '/tmp/' + str(time.time()) + str(random.random())
os.mkdir(tmpdir)
try:
yield tmpdir
finally:
shutil.rmtree(tmpdir)
print("end return")
import os
from my_tempdir import my_tempdir
with my_tempdir() as tmp_dir:
print(f"In return context with {tmp_dir}")
with open(tmp_dir + '/data.txt', 'w') as fh:
fh.write("hello")
print(os.listdir(tmp_dir))
print('')
print(tmp_dir)
print(os.path.exists(tmp_dir))
start return
In return context with /tmp/1578211890.49409370.6063140788762365
['data.txt']
end return
/tmp/1578211890.49409370.6063140788762365
False