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
fromfilenumutilsimportget_last_folder_number, get_last_file_numberget_last_folder_number(prefix="model_") # Output: 4get_last_file_number(prefix="train_") # Output: 2If no such file/folder with given prefix exists, it outputs -1
fromfilenumutilsimportget_next_file, get_next_folderget_next_file(prefix="model_") # Output: model_03.pyget_next_folder(prefix="test_") # Output: test_00get_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