Python tools to find last file/folder number in a int indexed file/folder with specified extension, prefix and/or suffix. Also allows to get/create next folder, e.g if dir contains train_00 and train_01, it creates train_02.
Simply install using pip
pip install filenumutilsAssuming the current working directory has the following structure
current_dir
├─ train_00
├─ train_01
├─ train_03
├─ train_04
├─ model_00.py
├─ model_01.py
└─ model_02.py
from filenumutils import get_last_folder_number, get_last_file_number
get_last_folder_number(prefix="model_") # Output: 4
get_last_file_number(prefix="train_") # Output: 2If no such file/folder with given prefix exists, it outputs -1
from filenumutils import get_next_file, get_next_folder
get_next_file(prefix="model_") # Output: model_03.py
get_next_folder(prefix="test_") # Output: test_00
get_next_folder(prefix="train_", create=True) # Output: train_05 (Folder is created)If no such folder with given prefix exists, it outputs prefix_00.
Also, it will automatically stick to the existing numbering pattern.
For eg, if the folders were [train_0000, train_0001],
get_next_folder(prefix="train_", create=True) # Output: train_0000 (Folder is created)| Attribute | Default | Description |
|---|---|---|
path |
Current Directory | Do operations in the given directory |
prefix |
"" | Match only files with given prefix |
suffix |
"" | Match only files with given extension/suffix |
default_number_width |
2 | When no numbering pattern is found, output number will be default_number_width digits |
full_path |
True | By default, returns new_folder_name. If True, returns path/new_folder_name. |
Pull requests are very welcome.
- Fork the repo
- Create new branch with feature name as branch name
- Check if things work with a jupyter notebook
- Raise a pull request
Please see attached Licence