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')
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 | |
|---|---|---|---|
| disk-2021.6.29.tar.gz | 14.6 kB | 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
|