Rename multiple files using Python

Prerequisite : OS module in Python

In Python3, rename() method is used to rename a file or directory. This method is a part of the os module and comes extremely handy.

Syntax for os.rename() :

os.rename(src, dst) : src is source address of file to be renamed and dst is destination with the new name.

Now say given n images in a folder having random names. For example, consider the image below:

Now the requirement is to rename them in ordered fashion like hostel1, hostel2, …and so on. Doing this manually would be a tedious task but this target can be achieved using the rename() and listdir() methods in os module.

The listdir method lists out all the content of a given directory.

Syntax for listdir() :

list = os.listdir(‘Src’) : Where Src is the source to be listed out.

The following code will do the job for us. It traverses through the lists of all the images in xyz folder, defines the destination (dst) and source (src) addresses and renames using rename module.
Below is the implementation :





# Pythono3 code to rename multiple 
# files in a directory or folder
# importing os module
import os
# Function to rename multiple files
def main():
    i = 0
    for filename in os.listdir("xyz"):
        dst ="Hostel" + str(i) + ".jpg"
        src ='xyz'+ filename
        dst ='xyz'+ dst
        # rename() function will
        # rename all the files
        os.rename(src, dst)
        i += 1
# Driver Code
if __name__ == '__main__':
    # Calling main() function


Output :

The output of this code will look something like this –

Note : This code may not run in online IDE, since it use external image file directory.

My Personal Notes arrow_drop_up

Check out this Author's contributed articles.



Article Tags :

