= Python Pathlib = '''`pathlib`''' is a module providing a consistent and powerful interface for path-like objects. The `pathlib.Path` object should be acceptable wherever a path-like object can be used. <> ---- == Usage == The core functionality of the `pathlib` module is the '''`pathlib.Path`''' class. === Example === {{{ from pathlib import Path # instantiate a relative path p = Path('.') # '.' # append to the path p.joinpath('temp') # './temp' # replace the extension of a file old = Path('archive.tar.gz') new = old.with_suffix('.txt') # 'archive.txt' }}} === Methods === ||'''Method''' ||'''Meaning''' || ||`absolute()` || || ||`anchor()` || || ||`as_posix()` || || ||`as_uri()` || || ||`chmod()` || || ||`drive()` || || ||`exists()` ||test if the file/directory represented by the path exists || ||`expanduser()` || || ||`glob()` || || ||`group()` || || ||`hardlink_to()` || || ||`is_absolute()` ||test if the path is absolute || ||`is_block_device()`|| || ||`is_char_device()` || || ||`is_dir()` || || ||`is_fifo()` || || ||`is_file()` || || ||`is_mount()` || || ||`is_relative_to()` ||test if the path is relative to another path || ||`is_reserved()` ||on Windows only, test if the path is reserved || ||`is_socket()` || || ||`is_symlink()` || || ||`iterdir()` || || ||`joinpath()` ||append path-like objects || ||`match()` ||test if the path matches a glob pattern || ||`mkdir()` ||create the directory represented by the path; can raise `FileNotFoundError` or `FileExistsError` || ||`name()` || || ||`open()` || || ||`owner()` || || ||`parent()` || || ||`parents()` || || ||`parts()` || || ||`read_bytes()` || || ||`read_text()` || || ||`readlink()` || || ||`relative_to()` ||return a new `pathlib.Path` object representing the path relative to another path || ||`rename()` || || ||`replace()` || || ||`resolve()` || || ||`rglob()` || || ||`rmdir()` || || ||`root()` || || ||`samefile()` || || ||`stat()` ||return a [[Python/Os#Stat_Result|os.stat_result]] for the file represented by the path || ||`stem()` || || ||`suffix()` || || ||`suffixes()` || || ||`symlink_to()` || || ||`touch()` || || ||`unlink()` || || ||`with_name()` ||return a new `pathlib.Path` object representing the path with the final component replaced with another filename || ||`with_stem()` ||return a new `pathlib.Path` object representing the path with the final component's basename replaced with another basename || ||`with_segments()` || || ||`with_suffix()` ||return a new `pathlib.Path` object representing the path with the final component's extension replaced with another extension|| ||`write_bytes()` || || ||`write_text()` || || === Class Methods === There are also two class methods for instantiating commonly-used paths. ||'''Method''' ||'''Value''' || ||`Path.cwd()` ||current working directory|| ||`Path.home()`||home directory || ---- == Classes == Apart from `pathlib.Path`, there are several classes exposed for alternative and niche functionality. ||'''Class''' ||'''Meaning''' || ||`pathlib.PosixPath` ||POSIX-only class || ||`pathlib.PurePath` ||base class that does not interact with the actual filesystem || ||`pathlib.PurePosixPath` ||base POSIX class that does not interact with the actual filesystem || ||`pathlib.PureWindowsPath`||base Windows class that does not interact with the actual filesystem|| ||`pathlib.WindowsPath` ||Windows-only class || ---- == See also == [[https://docs.python.org/3/library/pathlib.html|Python pathlib module documentation]] [[https://pymotw.com/3/pathlib/|Python Module of the Day article for pathlib]] ---- CategoryRicottone