import os import math from pathlib import Path from files import get_pictures def rename_num(entries, reverse=False): """Rename file, on the fly""" entries = sorted(entries, key=lambda entry: entry.name, reverse=reverse) digit_length = int(math.log10(len(entries)) + 1) renamed = {} for i, entry in enumerate(entries): renamed[entry] = '{number:0{width}d}{ext}'.format(number=i,width=digit_length,ext=Path(entry.path).suffix) for src, dst in renamed.items(): os.rename(src, dst)