Skip to content

Instantly share code, notes, and snippets.

@janpipek
Created September 5, 2016 05:50
Show Gist options
  • Save janpipek/08bb0b59a7fc4be8c70323eb630c4ccc to your computer and use it in GitHub Desktop.
Save janpipek/08bb0b59a7fc4be8c70323eb630c4ccc to your computer and use it in GitHub Desktop.
Rename numbered file names to padded variant
import os
import math
def rename(basename, basename2=None, extension=None, directory="."):
"""Rename all XXX1.ext, XXX123.ext files to XXX001.ext, ..."""
if basename2 is None:
basename2 = basename
files = [name for name in os.listdir(directory) if name.startswith(basename)]
if extension:
files = [name for name in files if name.endswith(extension)]
digits = int(math.ceil(math.log10(len(files))))
for name in files:
base, ext = os.path.splitext(name)
number = base[len(basename):]
number = number.zfill(digits)
new_name = basename2 + number + ext
os.rename(name, new_name)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment