Disk
Disk is a Python library for interacting with the file system in an object oriented manner. I know you can use os and os.path to do all of these but I find their usage hard to remember and true to object oriented principles.
Installation
You can use pip to install Disk:
pip install disk
Usage
All files and directories (folders) are considered Path objects. Any path except the root, has a parent: the directory it is in. Directories have children, some of them are files and some are subdirectories.
Path
The Path object points to an existing or non-existing file or directory.
from disk import Path
path = Path('C:\\')
get_current_directory
Usually we want to start in the current working directory:
path = Path.get_current_directory()
list, dir, ls
All of the above methods do the same thing; ls is for linux people, dir is for windows people, and list is for literal people.
print(path.list())
directories
To get the sub-directories of a directory use the directories attribute which returns a list of Paths:
subdirectories = path.directories
files
To get the files inside a directory use the files attribute which returns a list of Paths:
files = path.files
parent_directory
The parent directory is the directory a Path (either file or directory) is inside of.
parent_directory = path.parent_directory
make_directory
To create a new directory inside a Path that is also a directory, use make_directory with the name of the new directory as the name argument:
path.make_directory(name='new_directory')
You can also create a directory at the location of the Path object by letting the name argument take its default value of None:
path.make_directory()
make_parent_directory
Sometimes you need to create a new file at a Path that doesn't already exist, i.e. the directory of the file location doesn't exist. This is when make_parent_directory becomes handy:
path.make_parent_directory(ignore_if_exists=True)
The default value of ignore_if_exists is True.
delete
The delete function moves a file or directory to the trash. If the name argument is provided the file or directory inside the Path with that name will be deleted:
path.delete(name='new_directory')
If the name argument is not provided the file or directory the Path points to will be deleted:
path.delete()
save
To save a Python object as a Pickle file using the pickle or dill library you can just use the save function of the Path which saves the object right at the location of Path.
my_list = [1, 2, 3]
Path('my_list.pickle').save(my_list, method='pickle')
Path('my_list.dill').save(my_list, method='dill')
load
To load an object from a Pickle file located at a Path you can run the load function of the Path.
list_from_pickle = Path('my_list.pickle').load(method='pickle')
list_from_dill = Path('my_list.dill').load(method='dill')
Metadata
Release files for disk 2021.6.29
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| disk-2021.6.29.tar.gz | 14.6 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| disk-2021.6.29-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 31.7 kB
Release files / disk-2021.6.29.tar.gz
| Download URL | disk-2021.6.29.tar.gz |
|---|---|
| Size | 14.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b6353814fb9ea16122b37f2a32d7a0980ef9754a118f03a7b9c18193fc24cc51
|
|
BLAKE2b-256 checksum How to use checksums |
012dc5d406e56bc10643b5963d0cfa9be4da3fd0709f0a241b2931f240668a31
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.0 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.9.1
|
Release files / disk-2021.6.29-py3-none-any.whl
| Download URL | disk-2021.6.29-py3-none-any.whl |
|---|---|
| Size | 17.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
536b48a930556a156276e22220dff022e1b370ecfa3f3febd7999b701773cf48
|
|
BLAKE2b-256 checksum How to use checksums |
fa237255adab3e4b8b80ad1cfdfed08513763ab3d036cfdf353b8ca3e086a67d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.0 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.9.1
|
Security for disk 2021.6.29
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.