code: def temp_chdir(cwd=None):
      
      if six.PY3:
          from tempfile import TemporaryDirectory
          with TemporaryDirectory() as tempwd:
              origin = cwd or os.getcwd()
              os.chdir(tempwd)
  
              try:
                  yield tempwd if os.path.exists(tempwd) else ''
              finally:
                  os.chdir(origin)
      else:
          from tempfile import mkdtemp
          tempwd = mkdtemp()
          origin = cwd or os.getcwd()
          os.chdir(tempwd)
          try:
              yield tempwd if os.path.exists(tempwd) else ''
          finally:
              os.chdir(origin)
docs: Create and return a temporary directory which you can use as a context manager.
  
      When you are out of the context the temprorary disk gets erased.
  
      .. versionadded:: 2.3
  
      :param cwd: path to change working directory back to path when out of context
      :type cwd: basestring or None
      :return: in context a temporary directory
  
      Example
      -------
  
      >>> with temp_chdir() as temp_dir:
      >>>     # do things here
      >>>     print(temp_dir)  # etc etc
      ...
      >>> # when moving out of the context the temp_dir is destroyed
      >>> pass