我的文件分布如上,本方法可实现一键修改所有图片文件的格式,例如将现有的png格式修改为jpg格式。

下面上代码:

import os
from PIL import Image
# 图片路径
CONVERT_PATH = "D:\\dataset\\test"
files   = os.listdir(CONVERT_PATH) #找到所有文件列表
# 转换列表
List= []
print(files)# n,e=os.path.splitext("E:\\dataset\\train\\001\\1image1.jpg")
# print(n,e)
# a=os.path.join('"E:\\dataset\\train\\001',n)
# print(a)def convertImage(filePath):a_files = os.listdir(filePath)  #把filepath下的文件全部列出来包括文件夹,但只有一级for a_files_name in a_files:sPath = os.path.join(filePath,a_files_name)if os.path.isdir(sPath):  #存在例如001的文件夹convertImage(sPath)  #如果是文件夹就继续递归检索c,d = os.path.splitext(sPath)if d == ".png":List.append(c)for file_name in files:    #file_name为001,002,003等nPath = os.path.join(CONVERT_PATH, file_name)# 文件夹if os.path.isdir(nPath):   #判断是不是目录convertImage(nPath)  elif os.path.isfile(nPath):   #这里是用来判断路径下是不是直接存在图片,例如0001.jpga,b=os.path.splitext(nPath)if b==".png":        List.append(a)def convert():for jpgPath in List:img = Image.open(jpgPath+".png")  #打开png格式的图片img.save(jpgPath+".jpg")   #修改格式为jpgos.remove(jpgPath+".png")  #删除原来的png格式图片convert()

基本都在注释里注明了代码的功能了,不过有个地方需要说一下,c,d = os.path.splitext(sPath),这里splitext的作用是传入sPath路径后,将文件的后缀与前面分隔开,例如sPath="D:\dataset\test\001\000001.png",这时c等于D:\dataset\test\001\000001,而d等于.png

其他地方应该比较好理解了,下面就是结果了

当然可以修改为任何的格式,只需将代码中的.jpg改成你想要的格式即可。

 img.save(jpgPath+".jpg")   #修改格式为jpg

   文章到这就结束啦 

一键修改文件夹下图片文件的格式,适用于任何格式相关推荐

  1. 批量修改文件夹下图片名称(Python)

    本程序的功能是:批量修改文件夹下图片名称. import os import redef replcaeFileName(pic_path): # 修改pic_path路径下的文件名piclist = ...

  2. ubuntu系统(四):批量化查看pcd文件, 批量化修改图像的像素尺寸、查看当前文件夹下的文件数量

    目录 一.ubuntu批量化查看pcd文件 二.ubuntu批量化修改图像的像素尺寸 三 查看当前文件夹下的文件数量 一.ubuntu批量化查看pcd文件 将下面的脚本与要批量化查看的pcd文件放在一 ...

  3. Android开发之--读取文件夹下图片生成略缩图并点击显示大图

    这是一个简单的Demo,目的是:读取文件夹下图片生成略缩图并点击显示大图. 先新建一个工程,创建一个ThumbnailsWindows的类,继承LinearLayout.代码如下: package o ...

  4. python根据文件名或后缀名遍历文件夹下所有文件或图片的路径,并计算文件行数

    python遍历文件夹下所有文件或图片的路径 代码 指定目录下的指定后缀文件 import glob #获取指定目录下的所有图片 print (glob.glob("\\home\\qiao ...

  5. 查找文件夹下图片的数量

    //查找文件夹下图片的数量\ private int getFiles(String string){int i=0;File file = new File(string);File[] files ...

  6. python删除文件夹中的jpg_python删除文件夹下相同文件和无法打开的图片

    前天不小心把硬盘格式化了,丢了好多照片,后来用Recuva这款软件成功把文件恢复过来,可是恢复的文件中有好多重复的文件和无法打开的图片,所以写了两个python的小程序用来解决这个问题 删除相同文件: ...

  7. 求文件夹下图片的数量python脚本

    """ 求文件夹下图片的数量 """ import ospath = 'F:/train-human/' filenames = os.li ...

  8. python将一个文件夹下图片按比例分在两个文件夹下

    #!/usr/bin/env python # -*- coding:utf-8 -*- # 将一个文件夹下图片按比例分在两个文件夹下,比例改0.7这个值即可 import os import ran ...

  9. webpack 读取文件夹下的文件_TypeScript完全解读(26课时)_1.TypeScript完全解读-开发环境搭建...

    1.TypeScript完全解读-开发环境搭建 初始化项目 手动创建文件夹 D:\MyDemos\tsDemo\client-demo 用VSCode打开 npm init:初始化项目 然后我们的项目 ...

最新文章

  1. 关于跨域策略文件crossdomain.xml文件
  2. Python 中 Iterator和Iterable的区别
  3. 关于VC向导生成的COM的注册与反注册
  4. SOA流程项目到底是业务流还是工作流
  5. Kafka设计解析(八)- Kafka事务机制与Exactly Once语义实现原理
  6. 发送消息时,设定TTL
  7. XGboost 实战糖尿病预测
  8. java数列的个位数求和_java二位数组相加
  9. 信贷风控模型搭建及核心风控模式分类
  10. 人民银行支付系统(CNAPS)和中国银联下面的跨行支付系统是一回事儿吗
  11. 阜阳智慧城市建设居全国地市级城市第11位
  12. 真么找计算机用户密码,如何查找电脑的用户名和密码
  13. 【软件相关】LabView使用总结
  14. 现实中的CTF大赛都有哪些人参与
  15. matlab实现拍照功能,matlab下拍照功能的实现
  16. VGA显示器字符显示
  17. Java8的stream处理List集合的相同部分(交集)、去重
  18. 目前以太网主要采用什么连接计算机,目前以太网主要采用______连接计算机,计算机能够独享带宽...
  19. 利用计算思维解决问题人和计算机都能完成,对计算思维能力养成与大学计算机基础课程改革的思考...
  20. 微信小程序安卓系统下不显示BASE64图片问题

热门文章

  1. 通宵三天 我做了一个超级好玩的中秋节小游戏
  2. js css 特效网站收藏
  3. Charles 抓包PC版 微信小程序
  4. 现代数字信号处理期末考试试卷解析
  5. 2023好玩的解压游戏,压力大点开玩可以放松自己
  6. Google浏览器部分图片无法显示
  7. OCP-1Z0-053-V12.02-676题
  8. IDEA文件夹橘色或者红色
  9. 小功能⭐️Unity遮罩
  10. 教你一目了然树的概念与结构(入门级)