Utilities for temporary directories¶
The testpath.tempdir
module contains a couple of utilities for working
with temporary directories:
-
class
testpath.tempdir.
NamedFileInTemporaryDirectory
(filename, mode='w+b', bufsize=-1, **kwds)¶ Open a file named filename in a temporary directory.
This context manager is preferred over
tempfile.NamedTemporaryFile
when one needs to reopen the file, because on Windows only one handle on a file can be open at a time. You can close the returned handle explicitly inside the context without deleting the file, and the context manager will delete the whole directory when it exits.Arguments mode and bufsize are passed to open. Rest of the arguments are passed to TemporaryDirectory.
Usage example:
with NamedFileInTemporaryDirectory('myfile', 'wb') as f: f.write('stuff') f.close() # You can now pass f.name to things that will re-open the file
-
class
testpath.tempdir.
TemporaryWorkingDirectory
(suffix=None, prefix=None, dir=None)¶ Creates a temporary directory and sets the cwd to that directory. Automatically reverts to previous cwd upon cleanup.
Usage example:
with TemporaryWorkingDirectory() as tmpdir: ...