Extends the standard library pathlib.Path class.
Project description
pathier
Extends the standard library pathlib.Path class.
Installation
Install with:
pip install pathier
Usage
Functions the same as pathlib.Path, but with added functions and some altered default arguments.
Navigation
New paths can be obtained by:
- naming the parent with moveup()
- subtracting a number of levels from the current path
- naming the parent of the path you actually want with move_under()
- separating a relative path at a named parent with separate()
- set current working directory to path
>>> from pathier import Pathier >>> path = Pathier("C:/some/directory/to/some/file/on/the/system") >>> path.moveup("directory") WindowsPath('C:/some/directory') >>> path - 3 WindowsPath('C:/some/directory/to/some/file') >>> path.move_under("directory") WindowsPath('C:/some/directory/to') >>> path.separate("file") WindowsPath('on/the/system') >>> path.separate("file", True) WindowsPath('file/on/the/system') >>> path.mkcwd() >>> Pathier.cwd() WindowsPath('C:/some/directory/to/some/file/on/the/system')
Read and Write
Can dump and load toml and json files without needed to explicityly import and call functions from the respective libraries:
from pathier import Pathier path = Pathier("some_file.toml") content = path.loads() path.with_suffix(".json").dumps(content, indent=2)
Pathier().mkdir()
creates parent directories and doesn't throw an error if the path already exists by default.
Pathier().write_text()
and Pathier().write_bytes()
will create parent directories by default if they won't exist.
Pathier().write_text()
will also try to cast the data to be written to a string if a TypeError is thrown.
Pathier().delete()
will delete a file or directory, event if that directory isn't empty.
Pathier().copy()
will copy a file or a directory tree to a new destination and return a Pathier object for the new path
By default, files in the destination will not be overwritten.
Stats and Comparisons
>>> from pathier import Pathier >>> p = Pathier.cwd() / "pathier.py" >>> i = p.parent / "__init__.py" >>> p.dob datetime.datetime(2023, 3, 31, 18, 43, 12, 360000) >>> p.age 8846.024934 >>> p.mod_date datetime.datetime(2023, 3, 31, 21, 7, 30) >>> p.mod_delta 207.488857 >>> p.size() 10744 >>> p.size(True) '10.74 kb' >>> p.is_larger(i) True >>> p.is_older(i) False >>> p.modified_more_recently(i) True
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file pathier-0.6.0.tar.gz
.
File metadata
- Download URL: pathier-0.6.0.tar.gz
- Upload date:
- Size: 38.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ffa722414b5a455d7f37b2ae7385c645cf9d20612620d52932914c5664f8dce4 |
|
MD5 | 1fa95024692a30179fa5cad37e140e0f |
|
BLAKE2b-256 | a587d2436265d9a45ee2b259e665cd50865e12f49de2eab0504f095dde7d033d |
Provenance
File details
Details for the file pathier-0.6.0-py3-none-any.whl
.
File metadata
- Download URL: pathier-0.6.0-py3-none-any.whl
- Upload date:
- Size: 6.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0a2c18ac084d96f6bfb70e00429b421e80c2ac8b572a0c5a0c839b6583e4495b |
|
MD5 | b44242431b4197b42c110c510bf6dd6d |
|
BLAKE2b-256 | 2d224261db52d0289bd5263041f6ed673a307ee8df8e8f1ead98f30efb771c53 |