按当前顺序批量重命名图片(python)

本文介绍了一个如何使用Python和Pillow库在Windows环境下,根据图片的原始下载顺序对图片进行重命名,保持原有顺序,特别适用于漫画等需要特定顺序的情况。
摘要由CSDN通过智能技术生成

我有这个需求是因为下载图片,或者整理图片时用到,比如说漫画

windows操作

windows可以直接全选所有文件,然后重命名,就会批量命名,但是打乱了原有展示顺序

python

我想要实现的是保证按照下载时的顺序(也就是数字原有排序),我的需求是从1开始,而且按照图片原有的顺序(漫画需求)

下面代码实现的是将目标文件夹里所有的图片按照当前顺序重命名为1开始

pip install Pillow
from PIL import Image
import os

# 设置你的文件夹路径
folder_path = r'C:\Users\HML\Desktop\astatic\avatar'

# 列出文件夹中的所有文件
files = os.listdir(folder_path)

# 筛选出所有图片文件(这里假设常见的图片扩展名)
image_extensions = ('.jpg', '.jpeg', '.png', '.gif', '.bmp', '.tiff', '.tif')
image_files = [f for f in files if f.lower().endswith(image_extensions)]

# 按照名称排序图片文件
sorted_image_files = sorted(image_files)

# 重命名并转换图片文件
for index, file in enumerate(sorted_image_files, start=1):
    # 构建新的文件名,保持原有扩展名
    original_extension = os.path.splitext(file)[1].lower()
    new_file_name = f'{index}{original_extension}'
    # 完整的旧文件路径
    old_file_path = os.path.join(folder_path, file)
    # 完整的新文件路径
    new_file_path = os.path.join(folder_path, new_file_name)

    # 打开图片文件
    with Image.open(old_file_path) as img:
        # 如果图片不是PNG,将其转换为RGB模式并保存为JPEG
        if original_extension != '.png':
            img = img.convert('RGB')
            img.save(new_file_path, 'JPEG')
        else:
            # 如果是PNG,直接复制到新文件名
            img.save(new_file_path)



print("所有图片已重命名,非PNG图片已转换为.jpg格式,原始文件已删除。")

执行代码后为,可以发现保留了原有的顺序,这对于漫画很重要

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值