epath.Path#

class etils.epath.Path(*args: str | os.PathLike)[source]#

Bases: pathlib.PurePosixPath

Abstract base class for pathlib.Path-like API.

See [pathlib.Path](https://docs.python.org/3/library/pathlib.html) documentation.

is_relative_to(*other: str | os.PathLike) bool[source]#

Return True if the path is relative to another path or False.

format(*args: Any, **kwargs: Any) etils.epath.abstract_path._T[source]#

Apply str.format() to the path.

exists() bool[source]#

Returns True if self exists.

is_dir() bool[source]#

Returns True if self is a dir.

is_file() bool[source]#

Returns True if self is a file.

iterdir() Iterator[etils.epath.abstract_path._T][source]#

Iterates over the directory.

glob(pattern: str) Iterator[etils.epath.abstract_path._T][source]#

Yields all matching files (of any kind).

rglob(pattern: str) Iterator[etils.epath.abstract_path._T][source]#

Yields all matching files recursively (of any kind).

walk(*, top_down: bool = True, on_error: collections.abc.Callable[[OSError], object] | None = None) Iterator[tuple[etils.epath.abstract_path._T, list[str], list[str]]][source]#
expanduser() etils.epath.abstract_path._T[source]#

Returns a new path with expanded ~ and ~user constructs.

resolve(strict: bool = False) etils.epath.abstract_path._T[source]#

Returns the absolute path.

open(mode: str = 'r', encoding: str | None = None, errors: str | None = None, **kwargs: Any) IO[source]#

Opens the file.

read_bytes() bytes[source]#

Reads contents of self as bytes.

read_text(encoding: str | None = None) str[source]#

Reads contents of self as a string.

stat() etils.epath.stat_utils.StatResult[source]#

Returns metadata for the file/directory.

mkdir(mode: int = 511, parents: bool = False, exist_ok: bool = False) None[source]#

Create a new directory at this given path.

rmdir() None[source]#

Remove the empty directory at this given path.

rmtree(missing_ok: bool = False) None[source]#

Remove the directory, including all sub-files.

Remove this file or symbolic link.

write_bytes(data: bytes) int[source]#

Writes content as bytes.

write_text(data: str, encoding: str | None = None, errors: str | None = None) int[source]#

Writes content as str.

touch(mode: int = 438, exist_ok: bool = True) None[source]#

Create a file at this given path.

rename(target: str | os.PathLike) etils.epath.abstract_path._T[source]#

Renames the path.

replace(target: str | os.PathLike) etils.epath.abstract_path._T[source]#

Overwrites the destination path.

copy(dst: str | os.PathLike, overwrite: bool = False) etils.epath.abstract_path._T[source]#

Copy the current file to the given destination.