Temporary Filesystem¶
Manage filesystems in temporary locations.
A temporary filesytem is stored in a location defined by your OS
(/tmp
on linux). The contents are deleted when the filesystem
is closed.
A TempFS
is a good way of preparing a directory structure in advance,
that you can later copy. It can also be used as a temporary data store.
-
class
fs.tempfs.
TempFS
(identifier='__tempfs__', temp_dir=None, auto_clean=True, ignore_clean_errors=True)[source]¶ A temporary filesystem on the OS.
Temporary filesystems are created using the
tempfile.mkdtemp
function to obtain a temporary folder in an OS-specific location. You can provide an alternative location with thetemp_dir
argument of the constructor.Examples
Create with the constructor:
>>> from fs.tempfs import TempFS >>> tmp_fs = TempFS()
Or via an FS URL:
>>> import fs >>> tmp_fs = fs.open_fs("temp://")
Use a specific identifier for the temporary folder to better illustrate its purpose:
>>> named_tmp_fs = fs.open_fs("temp://local_copy") >>> named_tmp_fs = TempFS(identifier="local_copy")
-
__init__
(identifier='__tempfs__', temp_dir=None, auto_clean=True, ignore_clean_errors=True)[source]¶ Create a new
TempFS
instance.Parameters: - identifier (str) – A string to distinguish the directory within the OS temp location, used as part of the directory name.
- temp_dir (str, optional) – An OS path to your temp directory
(leave as
None
to auto-detect). - auto_clean (bool) – If
True
(the default), the directory contents will be wiped on close. - ignore_clean_errors (bool) – If
True
(the default), any errors in the clean process will be suppressed. IfFalse
, they will be raised.
-
close
()[source]¶ Close the filesystem and release any resources.
It is important to call this method when you have finished working with the filesystem. Some filesystems may not finalize changes until they are closed (archives for example). You may call this method explicitly (it is safe to call close multiple times), or you can use the filesystem as a context manager to automatically close.
Hint
Depending on the value of
auto_clean
passed when creating theTempFS
, the underlying temporary folder may be removed or not.Example
>>> tmp_fs = TempFS(auto_clean=False) >>> syspath = tmp_fs.getsyspath("/") >>> tmp_fs.close() >>> os.path.exists(syspath) True
-