python实现本地图片转存并重命名的示例代码

yipeiwu_com5年前Python基础

//有1-22个文件夹,各文件夹下有Detect_0文件夹,此文件夹下有source与mask文件夹,目的是将需要获取图片的

文件夹下的图片复制到新的文件夹下并按顺序重命名

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设计】。

相关文章

剖析Python的Twisted框架的核心特性

一. reactor twisted的核心是reactor,而提到reactor不可避免的是同步/异步,阻塞/非阻塞,在Dave的第一章概念性介绍中,对同步/异步的界限有点模糊,关于同步...

使用pandas的box_plot去除异常值

我就废话不多说了,直接上代码吧! #-*- coding:utf-8 _*- """ @author:Administrator @file: standard_process....

详解python3实现的web端json通信协议

之前有用python3实现过tcp协议的,后来又实现了http协议的通信,今天公司想做一个功能自动测试系统, 下午弄了一会,发现json格式的实现可以更简单一点,代码如下:简单解说一下,...

Python脚本修改阿里云的访问控制列表的方法

需求 对于部署在阿里云上的重要系统一般是不让其他人访问的,所以会在负载均衡(SLB)上加上访问控制列表。而使用ASDL拨号上网的宽带来说一般公网IP都不会固定的,会随时变更公网IP,所...

简单介绍Python中利用生成器实现的并发编程

我们都知道并发(不是并行)编程目前有四种方式,多进程,多线程,异步,和协程。 多进程编程在python中有类似C的os.fork,当然还有更高层封装的multiprocessing标准库...