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.
Source Distribution
Built Distribution
Hashes for temporary-3.0.0-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4d83707f978b7817e20f38fd967a68d3373786fa6ffd85868744cf0c08cb8199 |
|
MD5 | 73281325cc9555e5e76c34109e4f4b29 |
|
BLAKE2b-256 | bd7d418a93dcb56844cfb7aa500716716891d360d8e2b364705b9f55f4622ee8 |