004-简单图片批量重命名 | 2021-01-22

前言:最近有批量处理图片名字的需求,所以写了简单的图片命名批量修改的程序,以备不时之需。

0 开始之前

  • os (标准库,直接导入即可)

1 代码

import os

path = r'C:\Users\Desktop\photos\images' # 填入待修改命名的图片路径
num = 1 // 修改后从该数字开始命名图片
for old_name in os.listdir(path):
    num = str(num)
    if len(num) == 1:
        num = f'00{num}' 
    elif len(num) == 2:
        num = f'0{num}'  
    elif len(num) == 3:
        num = f'{num}'   
    new_name = num + '.jpg' // 如果是png,就把.jpg改成.png,同理,其他图片格式也可以这样修改
    os.chdir(path)
    os.rename(old_name, new_name)
    num = int(num)
    num += 1

2 期间遇到的问题

Q1:num不能使用len()方法?

A1:最开始numint(整型)object of type 'int' has no len(),整型没有len()方法,需要将其换成字符串,使用str()方法;后面num需要换回整型,字符串进行数字运算会得到错误结果。

Q2:代码会将图片命名为001.jpg,002.jpg...,如果有同名的图片,报错怎么办?

A1:先对待处理图片进行重命名,具体方法为:在待处理图片文件夹下,键盘键入Ctrl + A,在第一张图片上按F2,输入不是001.jpg相同名字的图片名(例如w.jpg),然后按Enter键,此时该目录下的所有图片会被重命名(例如w.jpg,w(1).jpg...)。当然,上述代码也是可以修改的,具体见1 代码

3 不足之处

N1:暂时没有加入带字母或是汉字的图片名字

N2:功能较简单,是否可以深入一些?

4 后续

暂无...

你可能感兴趣的:(004-简单图片批量重命名 | 2021-01-22)