Forked from tvdsluijs/rename-files-auto-increment.py
Created
February 16, 2020 20:36
-
-
Save highspeedsnow/ad66a845d835f15e58bdc38200724641 to your computer and use it in GitHub Desktop.
This script takes a folder and renames all the files to the same name with auto increment numbers. It keeps the extensions of each file unchanged. Great for renaming images!
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
''' | |
author: Pure Python | |
url: https://www.purepython.org | |
copyright: CC BY-NC 4.0 | |
creation date: 22-12-2018 | |
This script takes a folder and renames all the files | |
to the same name with auto increment numbers. | |
It keeps the extensions of each file unchanged | |
Great for renaming images! | |
No extra pip install needed. | |
''' | |
import os | |
class RenameFiles: | |
def __init__(self, folder=None, new_name=None, start_nr=0): | |
self.startFolder = folder | |
self.newName = new_name | |
self.startNr = start_nr | |
def loop_files(self, start_folder=None, new_name=None, start_nr=0): | |
if start_folder is None and self.startFolder is not None: | |
start_folder = self.startFolder | |
if new_name is None and self.newName is not None: | |
new_name = self.newName | |
if self.startNr >= start_nr: | |
start_nr = self.startNr | |
for filename in os.listdir(start_folder): | |
file = os.path.join(startfolder, filename) | |
filename, file_extension = os.path.splitext(file) | |
number = '{0:04}'.format(start_nr) | |
new_filename = "{}-{}{}".format(new_name, number, file_extension.lower()) | |
newfile = os.path.join(startfolder, new_filename) | |
os.rename(file, newfile) | |
print("Done :{}".format(filename)) | |
start_nr += 1 | |
if __name__ == '__main__': | |
dir_path = os.path.dirname(os.path.realpath(__file__)) | |
startfolder = os.path.join(dir_path, "profile_photos") | |
newName = "your-great-new-file-name" | |
startIncNumber = 1 | |
r = RenameFiles() | |
r.loop_files(startfolder, newName, startIncNumber) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment