问题:将某文件下的所有jpg的图片更换为png的图片

简单的实现:

# -*- coding:utf-8 -*-
from os.path import splitext
import glob
from PIL import Imagedef get_all_file(filename):files = glob.glob(filename)return filesdef to_ather_file(files, type):for jpg in files:im = Image.open(jpg)png = splitext(jpg)[0]+"." + typeim.save(png)print pngif __name__ == "__main__":filename = "./image/*.[Jj][Pp][Gg]"files = get_all_file(filename)to_ather_file(files, "png")

  这是一种很简单的是实现方法,就是先用glob获得某路径下的所有文件,该文件下都是jpg图片(题目是给定的,也可以考虑存在其他图片的情况的处理方式,就是获得文件的后缀名,判断是否为jpg),然后依次读入图片,使用splitext获得文件名和后缀名,然后按照要求重组文件名并保存就好了。

这里介绍两个部分:

glob模块:

在python中,glob模块是用来查找匹配的文件的    在查找的条件中,需要用到Unix shell中的匹配规则:

*    :   匹配所所有

?    :   匹配一个字符

*.*  :   匹配如:[hello.txt,cat.xls,xxx234s.doc]

?.*  :   匹配如:[1.txt,h.py]

?.gif:   匹配如:[x.gif,2.gif]

可以参考:fnmatch    如果没有匹配的,glob.glob(path)将返回一个空的list:[]

也就说:glob是用来寻找文件的。某种命名规则的文件的。

import globdef get_all():'''获取目录[c:\\tmp]下面所有的文件'''return glob.glob('c:\\tmp\\*.*')def get_my_file():'''获取目录[c:\\tmp]下面文件名为4个字符的文件'''return glob.glob('c:\\tmp\\????.txt')def get_batch_file():'''获取目录[c:\\tmp]下面扩展名为\'.txt\'的文件'''return glob.glob('c:\\tmp\\*.txt')def main():print('获取目录[c:\\tmp]下面所有的文件:')tem_files = get_all()print(tem_files)print('获取目录[c:\\tmp]下面文件名为4个字符的文件:')tem_files = get_my_file()print(tem_files)print('获取目录[c:\\tmp]下面扩展名为\'.txt\'的文件:')tem_files = get_batch_file()print(tem_files)if __name__ == '__main__':main()

  

python文件操作: 
有关文件夹与文件的查找,删除等功能 在 os 模块中实现。使用时需先导入这个模块,

导入的方法是:

import os

1、将一个路径名分解为目录名和文件名两部分

fpath , fname = os.path.split( "你要分解的路径")

例如:

a, b = os.path.split( "c:\\123\\456\\test.txt" )

print a

print b

显示:

c:\123\456

test.txt

2、 分解文件名的扩展名

fpathandname , fext = os.path.splitext( "你要分解的路径")

例如:

a, b = os.path.splitext( "c:\\123\\456\\test.txt" )

print a

print b

显示:

c:\123\456\test

.txt

文件操作还有很多有用的函数,可以通过查找手册来看。

转载于:https://www.cnblogs.com/silence-hust/p/4266182.html

python 批量更换图片格式脚本相关推荐

  1. Python 批量修改图片格式和尺寸

    公司的一个项目要求把所有4096x4096的图片全部转化成2048x2048的图片,这种批量转换图片大小的软件网上很多,我的同事原来使用的美图看看的批量转换,但是稍微有点麻烦,每次还需要指定要转换的图 ...

  2. python批量修改图片格式和名称

    在制作数据集的过程中发现找到的图片名称和格式都很混乱,找了别人的发现老是报错. 同时总结了一下我自己这边程序报的错误: 1..jpg已存在** 比如我现在存在2.jpg,通过代码修改也会得到2.jpg ...

  3. 学习笔记(番外篇)——python批量转换图片格式

    2019独角兽企业重金招聘Python工程师标准>>> #-*- coding:utf-8 -*- from PIL import Image import os import gl ...

  4. python批量转换图片格式

    import os from PIL import Image as img from tqdm import tqdmpath = 'data/' # 待转换格式的图片所在文件夹 path2 = ' ...

  5. python批量转换图片格式_python批量将图片转换为JPEG格式

    标签: # -*- coding:utf-8 -*- import os from PIL import Image def resize(path): filelist = os.listdir(p ...

  6. Python批量修改图片名称,格式,并批量量化

    from PIL import Image import numpy as np import cv2 import matplotlib.pyplot as plt import os####### ...

  7. 【python】批量按坐标裁剪图片、ImageJ批量修改图片格式

    一.批量按坐标裁剪图片代码 # -- coding: utf-8 -- import cv2 import osdef update(input_img_path, output_img_path): ...

  8. 实用脚本分享01:opencv拍摄视频、抽帧、合帧、批量改图片尺寸、批量改图片格式

    目录 一.基于opencv拍摄视频并保存 二.对视频抽帧 三.对图片进行合帧 四.更改图片尺寸 五.批量更改图片格式,如jpg转化为png.png转jpeg 一.基于opencv拍摄视频并保存 imp ...

  9. 使用Python批量压缩图片

    使用Python批量压缩图片 Python脚本 #coding:utf-8 import Image import os import os.path def picIsCorrect(fileSuf ...

最新文章

  1. ROS2概述和实践入门
  2. 为什么程序员总是发现不了自己的Bug?
  3. 打开pix4d无有效许可_我市两家企业通过危险废物综合经营许可证专家核查
  4. JavaScriptSerializer序列化与反序列化--备忘
  5. 2021-10-28嵌入式人工智能
  6. 【Java】对Java构造器参数问题的若干思考
  7. Docker学习一:Docker简介与安装
  8. STM32 - CubeMX 的使用实例详细(01.1)- ST-LINK V2 的配置
  9. python修改pdf内容_用Python把PDF文件转换成Word文档
  10. python读取odb_abaqus通过python从ODB中抽取模型数据和结果数据.pdf
  11. 华为硬件工程师社招机考题库_华为硬件工程师笔试题
  12. C#自定义控件添加至工具箱的方法
  13. Coverage [minx,miny,maxx,maxy] is [12, 4, 13, 6, 3], index [x,y,z] is [2, 5, 3]错误原因及其解决方式
  14. ipa上架App Store流程
  15. 华为mate40和mate40pro哪个更值得入手-华为mate40和mate40pro的性价比-华为mate40和mate40pro的区别
  16. 【报告分享】2021年中国互联网保险消费者洞察报告-凯度元保清华大学国家金融研究院(附下载)
  17. Altium Designer 网表导入常见问题 网表导入教程 同步原理图与PCB
  18. TTL与CMOS悬空接法
  19. 安卓简洁地实现点击ImageView查看大图功能
  20. 性能测试之Jmeter:使用代理录制脚本

热门文章

  1. CentOS 安装宋体字体
  2. 华为服务器提示错误信息,服务器错误日志
  3. mysql数据库2012_SQLServer2012连接mysql5.5
  4. layui导入模板数据_实物资产管理软件操作手册(数据接口)
  5. 计算机知识和技能,计算机基本知识和技能PPT课件.ppt
  6. python爬取b站用户_用Python爬取bilibili全站用户信息
  7. mysql 换行_教你如何用Python 连接 MySQL
  8. CentOS 8下安装MySQL8.0
  9. 如何访问云端的tcpserver_远程读写FTP文件,花生壳盒子+Serv-U快速实现远程访问...
  10. html5 coverflow,使用CSS+JS帮你实现苹果cover flow效果