L iF fdZddlZddlmZddlmZddlmZedZedZ ed dZ y) z? Contexts for *with* statement providing temporary directories N)contextmanager)rmtree)mkdtempc#>Kt}|t|yw)aCreate and return a temporary directory. This has the same behavior as mkdtemp but can be used as a context manager. Upon exiting the context, the directory and everything contained in it are removed. Examples -------- >>> import os >>> with tempdir() as tmpdir: ... fname = os.path.join(tmpdir, 'example_file.txt') ... with open(fname, 'wt') as fobj: ... _ = fobj.write('a string\n') >>> os.path.exists(tmpdir) False N)rr)ds Y/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/scipy/_lib/_tmpdirs.pytempdirr s$  A G 1Isc#Ktj}t}tj||tj|t |yw)a Create, return, and change directory to a temporary directory Examples -------- >>> import os >>> my_cwd = os.getcwd() >>> with in_tempdir() as tmpdir: ... _ = open('test.txt', 'wt').write('some text') ... assert os.path.isfile('test.txt') ... assert os.path.isfile(os.path.join(tmpdir, 'test.txt')) >>> os.path.exists(tmpdir) False >>> os.getcwd() == my_cwd True N)osgetcwdrchdirr)pwdrs r in_tempdirr s<" ))+C AHHQK GHHSM 1IsAAc#Ktj}||ytj||tj|yw)ag Change directory to given directory for duration of ``with`` block Useful when you want to use `in_tempdir` for the final test, but you are still debugging. For example, you may want to do this in the end: >>> with in_tempdir() as tmpdir: ... # do something complicated which might break ... pass But, indeed, the complicated thing does break, and meanwhile, the ``in_tempdir`` context manager wiped out the directory with the temporary files that you wanted for debugging. So, while debugging, you replace with something like: >>> with in_dir() as tmpdir: # Use working directory by default ... # do something complicated which might break ... pass You can then look at the temporary file outputs to debug what is happening, fix, and finally replace ``in_dir`` with ``in_tempdir`` again. N)r r r )dircwds rin_dirr9s;. ))+C { HHSM IHHSMsA A )N) __doc__r contextlibrshutilrtempfilerr rrrrsR %,0r