# Module: `utils.tempdir`

TemporaryDirectory class, copied from Python 3.2.

This is copied from the stdlib and will be standard in Python 3.2 and onwards.

## 3 Classes

class `IPython.utils.tempdir.``TemporaryDirectory`(suffix=None, prefix=None, dir=None)

  Bases: `object`

  Create and return a temporary directory. This has the same behavior as mkdtemp but can be used as a context manager. For .. rubric:: example

  with TemporaryDirectory() as tmpdir:
    ...

  Upon exiting the context, the directory and everything contained in it are removed.

  `__init__`(suffix=None, prefix=None, dir=None)

class `IPython.utils.tempdir.``NamedFileInTemporaryDirectory`(filename, mode='w+b', bufsize=-1, **kwds)

  Bases: `object`

  `__init__`(filename, mode='w+b', bufsize=-1, **kwds)

    Open a file named `filename` in a temporary directory.

    This context manager is preferred over `NamedTemporaryFile` in stdlib `tempfile` when one needs to reopen the file.

    Arguments `mode` and `bufsize` are passed to `open`. Rest of the arguments are passed to `TemporaryDirectory`.

class `IPython.utils.tempdir.``TemporaryWorkingDirectory`(suffix=None, prefix=None, dir=None)

  Bases: `tempfile.TemporaryDirectory`

  Creates a temporary directory and sets the cwd to that directory. Automatically reverts to previous cwd upon cleanup. Usage example:

  > with TemporaryWorkingDirectory() as tmpdir:
  >   ...