【图片、视频文件重命名工具】

189 阅读2分钟

需求背景: ui 提供设计图片文件夹,需要将文件重名一下,然后自己上传到对应 oss 上面

然后自己做了工具进行批量操作

文件夹下图片重命名成下面格式

1.jpg
2.jpg
3.jpg
import os
from PIL import Image

def is_image_file(file_path):
    try:
        # 使用Pillow库尝试打开文件,如果成功则为图片文件
        with Image.open(file_path):
            return True
    except Exception as e:
        return False

def rename_images_in_folder(folder_path, prefix=""):
    # 获取文件夹中的所有文件
    image_files = [f for f in os.listdir(folder_path) if is_image_file(os.path.join(folder_path, f))]

    # 遍历图片文件并重命名
    for i, image_file in enumerate(image_files):
        # 获取文件的扩展名
        file_extension = os.path.splitext(image_file)[-1].lower()

        # 新的文件名,添加了前缀
        new_file_name = f"{prefix}{i + 1}{file_extension}"

        # 构建新的文件路径
        new_file_path = os.path.join(folder_path, new_file_name)

        # 重命名文件
        os.rename(os.path.join(folder_path, image_file), new_file_path)

    print(f"文件夹 {folder_path} 中的图片文件已重命名完成")

# 调用函数并传入文件夹路径和前缀
image_folder = '/path/to/your/image/folder'
rename_images_in_folder(image_folder, prefix="")

文件夹下视频重命名同上格式

import os

def is_video_file(file_path):
   # 定义视频文件后缀名列表
   video_extensions = ['.mp4', '.avi', '.mkv', '.mov', '.flv', '.wmv']

   # 获取文件的扩展名
   file_extension = os.path.splitext(file_path)[-1].lower()

   # 判断扩展名是否在视频后缀名列表中
   return file_extension in video_extensions

def rename_videos_in_folder(folder_path, prefix=""):
   # 获取文件夹中的所有文件
   video_files = [f for f in os.listdir(folder_path) if is_video_file(os.path.join(folder_path, f))]
   print(video_files)
   # 遍历视频文件并重命名
   for i, video_file in enumerate(video_files):
       # 获取文件的扩展名
       file_extension = os.path.splitext(video_file)[-1].lower()

       # 新的文件名,添加了前缀
       new_file_name = f"{prefix}{i + 1}{file_extension}"
       print(new_file_name)
       # 构建新的文件路径
       new_file_path = os.path.join(folder_path, new_file_name)

       # 重命名文件
       os.rename(os.path.join(folder_path, video_file), new_file_path)

   print(f"文件夹 {folder_path} 中的视频文件已重命名完成")

# 调用函数并传入文件夹路径和前缀
video_folder = '/path/to/your/video/folder'
rename_videos_in_folder(video_folder, prefix="video_")