fs.mode

Abstract I/O mode container.

Mode strings are used in in open and openbin.

class fs.mode.Mode(mode)[source]

An abstraction for I/O modes.

A mode object provides properties that can be used to interrogate the mode strings used when opening files.

Example

>>> mode = Mode('rb')
>>> mode.reading
True
>>> mode.writing
False
>>> mode.binary
True
>>> mode.text
False
__contains__(character)[source]

Check if a mode contains a given character.

__init__(mode)[source]

Create a new Mode instance.

Parameters:mode (str) – A mode string, as used by io.open.
Raises:ValueError – If the mode string is invalid.
appending

True if the mode permits appending.

Type:bool
binary

True if a mode specifies binary.

Type:bool
create

True if the mode would create a file.

Type:bool
exclusive

True if the mode require exclusive creation.

Type:bool
reading

True if the mode permits reading.

Type:bool
text

True if a mode specifies text.

Type:bool
to_platform()[source]

Get a mode string for the current platform.

Currently, this just removes the ‘x’ on PY2 because PY2 doesn’t support exclusive mode.

to_platform_bin()[source]

Get a binary mode string for the current platform.

This removes the ‘t’ and adds a ‘b’ if needed.

truncate

True if the mode would truncate an existing file.

Type:bool
updating

True if the mode permits both reading and writing.

Type:bool
validate(_valid_chars=frozenset({'t', 'x', 'r', 'a', 'b', '+', 'w'}))[source]

Validate the mode string.

Raises:ValueError – if the mode contains invalid chars.
validate_bin()[source]

Validate a mode for opening a binary file.

Raises:ValueError – if the mode contains invalid chars.
writing

True if the mode permits writing.

Type:bool
fs.mode.check_readable(mode)[source]

Check a mode string allows reading.

Parameters:mode (str) – A mode string, e.g. "rt"
Returns:True if the mode allows reading.
Return type:bool
fs.mode.check_writable(mode)[source]

Check a mode string allows writing.

Parameters:mode (str) – A mode string, e.g. "wt"
Returns:True if the mode allows writing.
Return type:bool
fs.mode.validate_openbin_mode(mode, _valid_chars=frozenset({'x', 'b', 'a', 'r', '+', 'w'}))[source]

Check mode parameter of openbin is valid.

Parameters:mode (str) – Mode parameter.
Raises:ValueError if mode is not valid.