How to rename images in folder?

Question:

I have a folder which contains images. The name is like this :

ID03_013_bmp.rf.1d3821394d2c0b482202e204edde93b1.jpg

I want to rename each image, save 8 first characters and remove the rest. and thank you.

Asked By: ramy

||

Answers:

You can use the following script, which uses the os standard library.

import os

folder_dir = "/your/folder/directory" # Path to your folder

filenames = os.listdir(folder_dir) # List all the files in the folder
ids = [] # List of the the first 8 characters of your filenames

for file in filenames:
    id = file.split(".")[0][:8]
    ids.append(id) 
    target_name = id + ".jpg" # Define how you want your files to be named, currently based on the first 8 characters
    current_path = os.path.join(folder_dir, file)
    target_path = os.path.join(folder_dir, target_name)
    os.rename(current_path, target_path)
Answered By: AndrejH
import os

# Save the folder location in a variable path
# Windows
# path = "C://Users//<username>//"
# macOS
path = "/Users/<username>/..."

# Get all filenames in that path into a list
images = os.listdir(path)

# Loop over the list
for i in images:
    # Build new file name with first 8 letters of the old file name + suffix .jpg
    new_name = f"{i[:8]}.jpg"

    # display the new name
    print(new_name)

    # Do the rename operation (you can comment this out for testing)
    os.rename(f"{path}{i}", f"{path}{new_name}")
Answered By: djk96
Categories: questions Tags: ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.