给图片批量按照顺序重命名

1.代码部分解释

首先,设置需要文件夹的路径,图片的拓展名可以根据实际需求进行修改

# 设置图片文件夹路径
image_folder = " "
extension = ".jpg"  # 图片扩展名

 2.获取文件夹里面所有的图片文件&并对图片进行排序

# 获取图片文件夹中的所有图片文件
image_files = [file for file in os.listdir(image_folder) if file.endswith(extension)]

# 排序图片文件列表
image_files.sort()

 列表推导语法(List Comprehension):从指定的文件夹中获取所有文件的列表

os.listdir(image_folder):调用os模块中的listdir,接受文件的路径作为参数,并返回该文件夹所有的文件与子文件夹的列表

file for file in os.listdir(image_folder):这是列表推导的一部分,它在从文件夹中获取的所有文件和子文件夹列表中遍历每个元素,并将它们称为file

这个列表推导来获取指定文件夹中所有图片文件的列表。通过在列表推导中添加条件,我们可以过滤出特定扩展名(例如 .jpg)的文件

image_files.sort()是按照默认的图片命名方式进行排序:

例如:3.jpg、2.jpg、1.jpg——>1.jpg、2.jpg、3.jpg

image3.jpg、image2.jpg、image1.jpg——>image1.jpg、image2.jpg、image3.jpg

3.遍历图片文件按照顺序进行重命名

# 遍历图片文件并按顺序进行重命名
for index, image_file in enumerate(image_files, start=1):
    old_path = os.path.join(image_folder, image_file)
    new_filename = f"{index}{extension}"
    new_path = os.path.join(image_folder, new_filename)
    os.rename(old_path, new_path)
    print(f"Renamed {image_file} to {new_filename}")

for的循环语句,用来遍历image_files列表中的元素;enumerate():接受的对象有两个,列表中的图片元素&设置从1开始的参数;综上,这个循环会遍历列表里面的图片元素,然后每个图片分配一个从1开始的索引值

os.path.join:用于将多个路径组合在一起,创建完整的路径;folder:存放图片的文件夹;iamge_file:文件夹的名字;综上,用于定位图片文件的原始路径,为接下来操作使用;old_path与new_path同理

f-string格式化字符串:将索引号喝文件扩展名连接起来创建新的文件名

os,rename():对文件进行重命名,把old中的文件重命名为new指定的路径和文件名

f-string格式化字符串:非常好用,{}里面插入变量的值,最后在终端上显示出来

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值