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
File details
Details for the file temporary-3.0.0.tar.gz
.
File metadata
- Download URL: temporary-3.0.0.tar.gz
- Upload date:
- Size: 2.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6a56e5cc0b5df7c1f55cefefba9fb5f71cc13332b2929f2c8976db9be3bed773 |
|
MD5 | 66c46e2b674a7ec5d8e186180dc055ff |
|
BLAKE2b-256 | e30709d77128298b67b5cd7a444604e393b43ccf32d19090b0167c13bb829328 |
File details
Details for the file temporary-3.0.0-py2.py3-none-any.whl
.
File metadata
- Download URL: temporary-3.0.0-py2.py3-none-any.whl
- Upload date:
- Size: 4.3 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4d83707f978b7817e20f38fd967a68d3373786fa6ffd85868744cf0c08cb8199 |
|
MD5 | 73281325cc9555e5e76c34109e4f4b29 |
|
BLAKE2b-256 | bd7d418a93dcb56844cfb7aa500716716891d360d8e2b364705b9f55f4622ee8 |