一次性批量修改图片的名称,按数字顺序重新命名。
import os
import cv2
import shutil
# convert_format # 图片格式转换标志,默认为jpg不转换;如果转换其他格式,这里设为True
def rename(input_image_path, output_image_path, convert_format=False):
file_in = os.listdir(input_image_path) # 返回文件夹包含的所有文件名
num_file_in = len(file_in) # 获取文件数目
for i in range(num_file_in):
# 重命名并转换格式
if convert_format:
# 读取图片后,以新的格式重新保存 (慢,稳妥)
img = cv2.imread(os.path.join(input_image_path, file_in[i]))
cv2.imwrite(os.path.join(output_image_path, 'HAHA_%04d.' % i + format), img) # 统一命名为4位数字格式 ,设置对应的图片后缀名
print("正在重命名:%d" %i)
# 件重命名
else:
# 原文件重命名
new_name = os.rename(input_image_path + "/" + file_in[i], input_image_path + "/" + '%04d.jpg' % i)
if __name__ == '__main__':
# 待批量重命名的文件夹
input_image_path = r"文件路径"
output_image_path = r"文件路径"
rename(input_image_path, output_image_path, convert_format=True)