一键修改文件夹下图片文件的格式,适用于任何格式
我的文件分布如上,本方法可实现一键修改所有图片文件的格式,例如将现有的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
文章到这就结束啦
一键修改文件夹下图片文件的格式,适用于任何格式相关推荐
- 批量修改文件夹下图片名称(Python)
本程序的功能是:批量修改文件夹下图片名称. import os import redef replcaeFileName(pic_path): # 修改pic_path路径下的文件名piclist = ...
- ubuntu系统(四):批量化查看pcd文件, 批量化修改图像的像素尺寸、查看当前文件夹下的文件数量
目录 一.ubuntu批量化查看pcd文件 二.ubuntu批量化修改图像的像素尺寸 三 查看当前文件夹下的文件数量 一.ubuntu批量化查看pcd文件 将下面的脚本与要批量化查看的pcd文件放在一 ...
- Android开发之--读取文件夹下图片生成略缩图并点击显示大图
这是一个简单的Demo,目的是:读取文件夹下图片生成略缩图并点击显示大图. 先新建一个工程,创建一个ThumbnailsWindows的类,继承LinearLayout.代码如下: package o ...
- python根据文件名或后缀名遍历文件夹下所有文件或图片的路径,并计算文件行数
python遍历文件夹下所有文件或图片的路径 代码 指定目录下的指定后缀文件 import glob #获取指定目录下的所有图片 print (glob.glob("\\home\\qiao ...
- 查找文件夹下图片的数量
//查找文件夹下图片的数量\ private int getFiles(String string){int i=0;File file = new File(string);File[] files ...
- python删除文件夹中的jpg_python删除文件夹下相同文件和无法打开的图片
前天不小心把硬盘格式化了,丢了好多照片,后来用Recuva这款软件成功把文件恢复过来,可是恢复的文件中有好多重复的文件和无法打开的图片,所以写了两个python的小程序用来解决这个问题 删除相同文件: ...
- 求文件夹下图片的数量python脚本
""" 求文件夹下图片的数量 """ import ospath = 'F:/train-human/' filenames = os.li ...
- python将一个文件夹下图片按比例分在两个文件夹下
#!/usr/bin/env python # -*- coding:utf-8 -*- # 将一个文件夹下图片按比例分在两个文件夹下,比例改0.7这个值即可 import os import ran ...
- webpack 读取文件夹下的文件_TypeScript完全解读(26课时)_1.TypeScript完全解读-开发环境搭建...
1.TypeScript完全解读-开发环境搭建 初始化项目 手动创建文件夹 D:\MyDemos\tsDemo\client-demo 用VSCode打开 npm init:初始化项目 然后我们的项目 ...
最新文章
- 关于跨域策略文件crossdomain.xml文件
- Python 中 Iterator和Iterable的区别
- 关于VC向导生成的COM的注册与反注册
- SOA流程项目到底是业务流还是工作流
- Kafka设计解析(八)- Kafka事务机制与Exactly Once语义实现原理
- 发送消息时,设定TTL
- XGboost 实战糖尿病预测
- java数列的个位数求和_java二位数组相加
- 信贷风控模型搭建及核心风控模式分类
- 人民银行支付系统(CNAPS)和中国银联下面的跨行支付系统是一回事儿吗
- 阜阳智慧城市建设居全国地市级城市第11位
- 真么找计算机用户密码,如何查找电脑的用户名和密码
- 【软件相关】LabView使用总结
- 现实中的CTF大赛都有哪些人参与
- matlab实现拍照功能,matlab下拍照功能的实现
- VGA显示器字符显示
- Java8的stream处理List集合的相同部分(交集)、去重
- 目前以太网主要采用什么连接计算机,目前以太网主要采用______连接计算机,计算机能够独享带宽...
- 利用计算思维解决问题人和计算机都能完成,对计算思维能力养成与大学计算机基础课程改革的思考...
- 微信小程序安卓系统下不显示BASE64图片问题