| 12345678910111213141516171819202122232425262728 |
- from tempfile import NamedTemporaryFile
- from contextlib import contextmanager
- import os
- @contextmanager
- def temporary_file(suffix=''):
- """Yield a writeable temporary filename that is deleted on context exit.
- Parameters
- ----------
- suffix : str, optional
- The suffix for the file.
- Examples
- --------
- >>> import numpy as np
- >>> from skimage import io
- >>> with temporary_file('.tif') as tempfile:
- ... im = np.arange(25, dtype=np.uint8).reshape((5, 5))
- ... io.imsave(tempfile, im)
- ... assert np.all(io.imread(tempfile) == im)
- """
- with NamedTemporaryFile(suffix=suffix, delete=False) as tempfile_stream:
- tempfile = tempfile_stream.name
- yield tempfile
- os.remove(tempfile)
|