Python实现本地图片批量转存与重命名脚本

Jasper
Jasper
发布时间:2026-10-13 | 5人浏览过
原创

本文提供一段Python代码,用于将指定目录下包含Detect_0文件夹中的source与mask图片批量复制到新目录,并按顺序重命名。通过遍历1至22号文件夹,程序自动清空并重建目标路径,依次复制源图与掩码文件,保持.bmp格式,实现自动化整理。

假设存在编号为1至22的多个文件夹,每个文件夹内部均包含一个名为Detect_0的子目录,该子目录下进一步分为source和mask两个文件夹。本任务的目标是提取这些指定文件夹中的图片资源。

将上述source文件夹内的图片复制至新的目标文件夹中,并按照统一的顺序进行重命名处理。

import os
import shutil
//删除之前文件夹并新建空文件夹
shutil.rmtree(r'E:\\all_project\\picture')
os.makedirs("E:\\all_project\\picture\\source\\")
os.makedirs("E:\\all_project\\picture\\mask\\")
//确定需要获取图片的文件夹编号
# arr=["1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22"]
arr=["1","2"]
source_num=0
mask_num=0
source_new = 1
mask_new = 1
for i in arr:

 source = 'E:\\all_project\\'+i+'\\Detect_0\\source\\'
 source_final = 'E:\\all_project\\picture\\source\\'
 source_ls = os.listdir(source)
 print(source_ls)
 mask = 'E:\\all_project\\'+i+'\\Detect_0\\mask\\'
 mask_final = 'E:\\all_project\\picture\\mask\\'
 mask_ls = os.listdir(mask)
 print(mask_ls)

 source_list = os.listdir(source)
 mask_list = os.listdir(mask)
 source_num += len(source_ls)
 mask_num += len(mask_ls)
 print(source_num)
 print(mask_num)

 old = 1
 while len(os.listdir(source_final)) < source_num:
  oldname = source + str(old) + ".bmp"
  if os.path.exists(oldname):
   newname = source_final + str(source_new) + ".bmp"
   shutil.copyfile(oldname, newname)
   source_new += 1
   print(source_new)
   old += 1
  else:
   old += 1

 old = 1
 while len(os.listdir(mask_final)) < mask_num:

  oldname = mask + str(old) + ".bmp"
  if os.path.exists(oldname):
   newname = mask_final + str(mask_new) + ".bmp"
   shutil.copyfile(oldname, newname)
   mask_new += 1
   old += 1
  else:
   old += 1

以上这篇python实现本地图片转存并重命名的示例代码就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持本站。

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表