前言:最近有批量处理图片名字的需求,所以写了简单的图片命名批量修改的程序,以备不时之需。
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:最开始num
为int(整型),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 后续
暂无...