Context managers for managing temporary files and directories.
Project description
Context managers for managing temporary files and directories.
with temporary.temp_dir() as d: ... with temporary.temp_file(content='hello') as f: ...
Installation:
$ pip install temporary
Temporary Directory Examples
The temporary directory is created when entering the context manager, and deleted when exiting it:
>>> import temporary >>> with temporary.temp_dir() as temp_dir: ... assert temp_dir.is_dir() >>> assert not temp_dir.exists()
This time let’s make the temporary directory our working directory:
>>> import os >>> with temporary.temp_dir(make_cwd=True) as temp_dir: ... assert str(temp_dir) == os.getcwd() >>> assert not str(temp_dir) == os.getcwd()
The suffix, prefix, and parent_dir options are passed to the standard tempfile.mkdtemp() function:
>>> with temporary.temp_dir() as p: ... with temporary.temp_dir(suffix='suf', prefix='pre', parent_dir=p) as d: ... assert d.parent == p ... assert d.name.startswith('pre') ... assert d.name.endswith('suf')
This function can also be used as a decorator, with the in_temp_dir alias:
>>> @temporary.in_temp_dir() ... def my_function(): ... assert old_cwd != os.getcwd() ... >>> old_cwd = os.getcwd() >>> my_function() >>> assert old_cwd == os.getcwd()
Temporary File Examples
The temporary file is created when entering the context manager and deleted when exiting it.
>>> import temporary >>> with temporary.temp_file() as temp_file: ... assert temp_file.exists() >>> assert not temp_file.exists()
The user may also supply some content for the file to be populated with:
>>> with temporary.temp_file('hello!') as temp_file: ... with temp_file.open() as f: ... assert f.read() == 'hello!'
The temporary file can be placed in a custom directory:
>>> with temporary.temp_dir() as temp_dir: ... with temporary.temp_file(parent_dir=temp_dir) as temp_file: ... assert temp_file.parent == temp_dir
If, for some reason, the user wants to delete the temporary file before exiting the context, that’s okay too:
>>> with temporary.temp_file() as temp_file: ... temp_file.unlink()
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
| Filename, size & hash SHA256 hash help | File type | Python version | Upload date |
|---|---|---|---|
| temporary-3.0.0-py2.py3-none-any.whl (4.3 kB) Copy SHA256 hash SHA256 | Wheel | py2.py3 | May 17, 2016 |
| temporary-3.0.0.tar.gz (2.8 kB) Copy SHA256 hash SHA256 | Source | None | May 17, 2016 |