python实现快速文件格式批量转换的方法


Posted in Python onOctober 16, 2020

用python实现文件夹下的成批文件格式转换

我们对于文件转换的需求很大,甚至于对于图片的格式,JPG和PNG格式在肉眼看来都没什么差别,但是对于计算机而言,它有时候就只接受这些肉眼看起来差不多的格式的其中一种。

环境

windows10
python3.7+pycharm

创建目录

1.在编程前,创建一个文件夹,并放入你想用的文件(非目录),这些文件的格式不合适。
例如,我在桌面创建了名为"in_path"的文件夹,在里面放进了.pgm和.png格式的文件,想让他们都转化成.jpg格式。
2.同时新建一个batch_change.py文件。

python实现快速文件格式批量转换的方法

编写程序

导入python的模块os,PIL,glob.

// 导入PIL,os,glob
from PIL import Image
import os,glob

创建输出目录

// 创建输出文件夹
def batch_change(in_path,out_path): 
  if not os.path.exists(out_path):
    print(out_path,'is not existed.')
    os.mkdir(out_path)
  if not os.path.exists(in_path):
    print(in_path,'is not existed.')
    return -1

浏览输入目录

// 浏览遍历输入文件夹
  for files in glob.glob(in_path+'/*'):
    filepath,filename=os.path.split(files)
    out_file = filename[0:9]+'.jpg' #转换成最终格式为.jpg,可以在这里改为.png
    im = Image.open(files)
    new_path=os.path.join(out_path,out_file)
    print(count,',',new_path)
    count = count+1
    im.save(os.path.join(out_path,out_file))

修改文件路径

// 浏览遍历输入文件夹
  if __name__=='__main__':
  batch_change(r'C:\Users\80610\Desktop\in_path',r'C:\Users\80610\Desktop\out_path') 
  #你想转化文件所在文件夹输入和输出的路径

运行结果

无论是pgm,png,他们们都转化成.jpg格式,并且保存在out_path文件夹下

python实现快速文件格式批量转换的方法

python实现快速文件格式批量转换的方法

完整代码

#encoding = utf-8
#author = itinerary,hui

from PIL import Image
import os,glob

def batch_change(in_path,out_path): #参数:输入与输出文件夹路径
  if not os.path.exists(out_path):
    print(out_path,'is not existed.')
    #创建输出文件夹
    os.mkdir(out_path)
  if not os.path.exists(in_path):
    print(in_path,'is not existed.')
    return -1
  count = 0
  for files in glob.glob(in_path+'/*'):
    filepath,filename=os.path.split(files)
    out_file = filename[0:9]+'.png' #转换成最终格式为png
    im = Image.open(files)
    new_path=os.path.join(out_path,out_file)
    print(count,',',new_path)
    count = count+1
    im.save(os.path.join(out_path,out_file))

if __name__=='__main__':
  batch_change(r'C:\Users\80610\Desktop\in_path',r'C:\Users\80610\Desktop\out_path') #你想转化文件所在文件夹输入和输出的路近

总结

到此这篇关于python实现快速文件格式批量转换的方法的文章就介绍到这了,更多相关python文件格式批量转换内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
python生成器的使用方法
Nov 21 Python
paramiko模块安装和使用(远程登录服务器)
Jan 27 Python
线程和进程的区别及Python代码实例
Feb 04 Python
使用Protocol Buffers的C语言拓展提速Python程序的示例
Apr 16 Python
横向对比分析Python解析XML的四种方式
Mar 30 Python
简单谈谈python中的多进程
Nov 06 Python
Python文件和流(实例讲解)
Sep 12 Python
Python对列表去重的多种方法(四种方法)
Dec 05 Python
Python3简单实现串口通信的方法
Jun 12 Python
Python3 venv搭建轻量级虚拟环境的步骤(图文)
Aug 09 Python
ubuntu上安装python的实例方法
Sep 30 Python
浅谈sklearn中predict与predict_proba区别
Jun 28 Python
Python通过getattr函数获取对象的属性值
Oct 16 #Python
pandas处理csv文件的方法步骤
Oct 16 #Python
python爬取”顶点小说网“《纯阳剑尊》的示例代码
Oct 16 #Python
Python使用内置函数setattr设置对象的属性值
Oct 16 #Python
python pymysql库的常用操作
Oct 16 #Python
Python基于callable函数检测对象是否可被调用
Oct 16 #Python
python collections模块的使用
Oct 16 #Python
You might like
如何选购合适的收音机
2021/03/01 无线电
PHP入门
2006/10/09 PHP
laravel 根据不同组织加载不同视图的实现
2019/10/14 PHP
Javascript条件判断使用小技巧总结
2008/09/08 Javascript
jquery选择器(常用选择器说明)
2010/09/28 Javascript
用js的for循环获取radio选中的值
2013/10/21 Javascript
JavaScript sup方法入门实例(把字符串显示为上标)
2014/10/20 Javascript
JavaScript中省略元素对数组长度的影响
2016/10/26 Javascript
js实现无缝滚动图(可控制当前滚动的方向)
2017/02/22 Javascript
JavaScrpt中如何使用 cookie 设置查看与删除功能
2017/07/09 Javascript
vue2.0 实现导航守卫(路由守卫)
2018/05/21 Javascript
如何解决React官方脚手架不支持Less的问题(小结)
2018/09/12 Javascript
js实现整体缩放页面适配移动端
2020/03/31 Javascript
Python import自定义模块方法
2015/02/12 Python
python使用tkinter实现简单计算器
2018/01/30 Python
python numpy 部分排序 寻找最大的前几个数的方法
2018/06/27 Python
解决Pandas的DataFrame输出截断和省略的问题
2019/02/08 Python
关于Python内存分配时的小秘密分享
2019/09/05 Python
浅谈Python爬虫原理与数据抓取
2020/07/21 Python
整理HTML5中表单的常用属性及新属性
2016/02/19 HTML / CSS
为什么会有内存对齐
2016/10/10 面试题
介绍一下常见的木马种类
2014/11/15 面试题
函授本科毕业生自我鉴定
2013/10/16 职场文书
高中毕业自我鉴定
2013/12/16 职场文书
即兴演讲稿
2014/01/04 职场文书
周年庆典主持词
2014/04/02 职场文书
《李广射虎》教学反思
2014/04/27 职场文书
优秀的应届生自荐信
2014/05/23 职场文书
反四风对照检查材料
2014/09/22 职场文书
宝宝满月祝酒词
2015/08/10 职场文书
python实战之一步一步教你绘制小猪佩奇
2021/04/22 Python
Python机器学习之逻辑回归
2021/05/11 Python
python基础学习之生成器与文件系统知识总结
2021/05/25 Python
Golang map映射的用法
2022/04/22 Golang
instantclient客户端 连接oracle数据库
2022/04/26 Oracle
python基础之//、/与%的区别详解
2022/06/10 Python