Python套壳ImageMagick实现图片格式批量转换
最近疫情反复,堂姐被抽调到宣传部门发些稿件,发布平台要求图片必须是jpg格式,堂姐是个电脑盲,刚好最近在看入门Python的文章,写个转换图片格式的程序给她,她只要把程序放到有图片的文件夹里运行就好了。我在这里记录分享下制作过程。
(转换图片这种我去逛了一圈大家都是套壳ImageMagick来做的呀,我也给她套一个)
先安装ImageMagick,官网:
ImageMagickhttps://imagemagick.org/index.php打开PyCharm或者VScode,写下如下代码:
(大概思路就是通过文件后缀把图片文件过滤出来,然后用ImageMagick的命令去转换它,新建个《转换后图片》文件夹,把转换完文件放到这个文件夹里,基本上是巨傻瓜简易的做法。)
import os
import subprocessdirectory = '.'
dist_path = os.path.join(directory, '转换后图片')
if not os.path.exists(dist_path):os.makedirs(dist_path)
infile = os.getcwd()
outfile = os.path.join(infile, '转换后图片')
for filename in os.listdir(directory):if filename.lower().endswith(('.bmp', '.dib', '.gif', '.png','.jpeg', '.pbm', '.pgm', '.ppm', '.tif', '.tiff', '.heic')):print('Converting %s...' % os.path.join(directory, filename))if '.' in filename:suffix = filename.split('.')[-1]name = filename.replace(('.' + suffix), '')subprocess.run(["magick", "%s" % filename, "%s" % (outfile + '\\' + name + '.jpg')])continue
源代码运行测试没问题,下面就是打包成可执行的程序,堂姐主要用windows系统办公,那么打包成exe可执行程序就可以了。
打包方式有多种,这里我选择pyinstaller
用pip装它(你电脑没有pip?进它官网下载去吧您訥:)
pip · PyPIThe PyPA recommended tool for installing Python packages.https://pypi.org/project/pip/装完您就打开cmd程序,运行
pip install pyinstaller
装完您看它结尾处显示Successfully,那就是装上了;
然后您去网上找个您喜欢的ico格式的图片文件,放到py文件所在的目录,就可以开始打包了。
打开cmd,切换到py项目所在目录,运行如下命令(这里“ico.ico”是我找的图标文件,图片转换为jpg.py是我的python文件)
pyinstaller -F -i ico.ico 图片转换为jpg.py
然后您就得到一个带着您选择图标的exe文件,把它放到您想批量压缩图片的文件夹里,双击就可以了。
不愿意搭建环境,只需要可执行程序的看这里:
图片转换为jpg.exe
当然,您就算下了这个exe文件还是需要下载那个ImageMagick才能用。
Python套壳ImageMagick实现图片格式批量转换相关推荐
- php图片转换软件,能能图片格式转换器 支持主流图片格式批量转换,简单实用的图片转换软件...
今天给大家分享一个我平常用的能能图片格式转换器,这个能能图片格式转换器也是非常强大,集合所有图片格式,支持相互转换哦,能能图片格式转换器还有图片剪切,调整分辨率,添加水印等功能.在这里也推荐大家看一下 ...
- MATLAB对图片格式批量转换
从网上下载一些数据集,发现是PPM或者PGM格式的,一般照片查看器打不开.可以用MATLAB对其进行批量转换格式.当然,任何两种格式之间相互转换都可以用这个程序: % 本示例程序将 pgm 图片转换为 ...
- 图片格式批量转换,批量处理
转载:http://blog.sina.com.cn/s/blog_ba532aea0101bty5.html 你当然可以用 PhotoShop 或 GIMP 这样的软件来处理图像.没人禁止你这么做, ...
- ubuntu 图片格式批量转换,批量处理
可以用 PhotoShop 或 GIMP 这样的软件来处理图像.没人禁止你这么做,就像没人禁止你用大炮打蚊子一样.不过依我看,打蚊子最好还是用电蚊拍,而要处理大量图像的话,我推荐 ImageMagic ...
- 【kimol君的无聊小发明】—用python写图片格式批量处理工具
[kimol君的无聊小发明]-用python写图片格式批量处理工具 前言 一.思路分析 二.调整尺寸 三.调整大小 四.整合代码 写在最后 前言 某个夜深人静的夜晚,夜微凉风微扬,月光照进我的书房~ ...
- Python写图片格式批量处理工具!你还一张一张转格式吗?
前言 某个夜深人静的夜晚,夜微凉风微扬,月光照进我的书房~ 当我打开文件夹以回顾往事之余,惊现许多看似杂乱的无聊代码.我拍腿正坐,一个想法油然而生:"生活已然很无聊,不如再无聊些叭" ...
- 通过PIL模块批量对图片格式进行转换(如jpg转png)
通过PIL模块批量对图片格式进行转换(如jpg转png) python的pil模块相当的智能,如果你需要对图片格式进行转换,比如jpg转换成tif.jpg转换成gif.png转换成jpg.只需要在保存 ...
- python图片保存jpg、show变成bmp_Python 实现判断图片格式并转换,将转换的图像存到生成的文件夹中...
Python 实现判断图片格式并转换,将转换的图像存到生成的文件夹中 我就废话不多说了,直接上代码吧! import Image from datetime import datetime impor ...
- Python用imghdr模块识别图片格式
Python用imghdr模块识别图片格式 imghdr.what(img_file) img_end = {'jpg', 'bmp', 'png', 'jpeg', 'rgb', 'tif', 't ...
最新文章
- 文件上传(JavaWeb 狂神笔记)
- 教务查询子系统时序图
- 为什么软件开发,人多,事少,还会工作量大?
- 25个经典的Spring面试问答
- 正则表达式,解决要么有要有没有,但必须开头
- 又是Dropout两次!这次它做到了有监督任务的SOTA
- 工业以太网交换机故障的排障步骤
- WCF标准绑定以及传输协议与编码格式
- Java Integer.compareTo()比较大小
- 【转】学习理论,注重细节
- javascript对table的添加,删除行的操作
- 兼容各浏览器的js回车事件
- 根据车辆型号自动生成车辆编号
- C++实现简单钢琴(文件读取 - 播放曲谱)
- 运放全波整流电路_万能整流电路:运放+整流二极管
- 德意志帝国(第一帝国)(962年-1806年)
- linux系统下载18.04,在Ubuntu 18.04系统中下载安装Persepolis Download Manager
- Unity碰撞检测/触发器触发问题
- HTML5+CSS3小实例:酷炫的菱形加载动画
- 【DEVOPS】基于禅道 - 重构研发协作流程
热门文章
- KILE无法软件仿真
- 简历准备(一)—— TPLink
- 下列关于java包装类叙述错误的是,java包装类
- python中len函数_len()函数以及Python中的示例
- vc++之windows api
- 服务器的类型都有哪些
- 打造类手机刷机的win10 recovery镜像
- Error -27796: Failed to connect to server ip地址: [10060] Connection timed out
- 连接真机开发安卓(Android)移动app MUI框架——混合式开发(一) (敲详细)
- 银联支付更换正式环境后报错存在风险而关闭了订单