python 简易应用: 将ios 的heic图片批量转为jpeg

ops/2024/9/25 5:50:08/

最终的代码还没完全通过

但是已经可以功能上使用了!

landrop是个跨平台的局域网文件传输app,支持ios  android windows linux ...比微信好用的地方是它不限文件个数,并且原汁原叶, 不篡改文件, 并且是开源软件。

ios上通过landrop  分享的文件, 是heic格式的原图, 在windows 10上用看图软件打开, 居然要安装heic解码器, 这个解码器居然是收费的, 要7元

这些图片以IMG_0950.pvt类似的名称的目录(文件夹)的形式存在, 一个图一个文件夹, 里有有heif文件, 还有一个视频文件

虽然landrop传输的文件保持了原汁原味 ,甚至拍摄时的动图也保留了, 但是在win上看图却是要解决的

解决办法, 我的思路是先把landrop下 以pvt名结尾的目录下的heif找到, 统一复制到landrop下heif目录下:

python依赖安装或解决参见这里, 详情点这里:

https://blog.csdn.net/weixin_62598385/article/details/135945383

python">import os
import shutil# 定义landrop目录的路径,使用当前目录
landrop_dir = os.getcwd()# 定义heic目录的路径
heic_dir = os.path.join(landrop_dir, "heic")# 如果heic目录不存在,创建该目录
if not os.path.exists(heic_dir):os.makedirs(heic_dir)# 遍历landrop目录下的所有文件夹
for item in os.listdir(landrop_dir):item_path = os.path.join(landrop_dir, item)# 只处理IMG_xxxx.pvt格式的文件夹if os.path.isdir(item_path) and item.startswith("IMG_") and item.endswith(".pvt"):print(f"正在处理目录: {item_path}")# 列出目录中的所有文件files = os.listdir(item_path)print(f"目录 {item_path} 中的文件: {files}")# 遍历文件夹中的所有文件for file in files:# 忽略扩展名的大小写来判断是否为.heic文件if file.lower().endswith(".heic"):heic_file_path = os.path.join(item_path, file)print(f"找到.heic文件: {heic_file_path}")# 复制heic文件到heic目录shutil.copy2(heic_file_path, heic_dir)print(f"已复制 {heic_file_path} 到 {heic_dir}")print("所有.heic文件已复制完毕。")

然后再处理, 可以用python也可以用imagemagick, 因为python的依赖没搞定,本帖用imagemagick来办:

在heic建一个bat文件:

python">
magick mogrify -format jpg *.heic

大功搞成!

关于imagemagick, 参见这个帖子:

python">https://blog.csdn.net/weixin_62598385/article/details/135630171

关于imagemagick, 参见这个帖子,详情点这里


http://www.ppmy.cn/ops/98042.html

相关文章

拒绝拖延!Kimi助你一天内速成论文初稿!

撰写学术论文是一项需要周密计划和精确执行的任务。它要求作者对文章的每个部分进行深入思考,以确保论文结构的合理性和论述的清晰度。利用Kimi的功能,我们可以更系统地进行写作,从构思到最终成稿,逐步构建出一篇高质量的学术论文…

OpenAI gym and Python threading

题意:OpenAI Gym 和 Python 线程处理 问题背景: I am working on a variation of A3C/ACER and I have several workers, each running on its own thread. I am using OpenAI gym environments. 我正在开发 A3C/ACER 的一个变体,并且有多个…

es的学习

1.认识es 2.ik分词器 对于某些词进行特定分词设置或者忽略设置 3.索引库的操作 就是相当于操作表 4.文档的操作 就是相当于操作数据

WPS宏关于时间格式值的读取与比对

之前对表格单元格的读取及赋值用Range对象的Value2或Formula 属性,获取表格区域值的时候用Value() 方法获取,对于日期格式Value2或Formula 属性获取到的都是日期数字,还转换不过来,用Value() 方法读取单个单元格成功拿到日期&…

Unity动画模块 之 3D模型导入基础设置 Rig页签

​本文仅作笔记学习和分享,不用做任何商业用途本文包括但不限于unity官方手册,unity唐老狮等教程知识,如有不足还请斧正​​ 1.Rig页签 Rig 选项卡 - Unity 手册,rig是设置骨骼与替身系统的,工作流程如下 Avatar是什么…

2 种方式申请免费 SSL 证书,阿里云 Certbot

如何使用免费的 SSL 证书,有时在项目中需要使用免费的 SSL 证书,Aliyun 提供免费证书,三个月有效期,可以直接在aliyun 申请,搜索 SSL 证书,选择测试证书。 Aliyun 证书需要每三月来来换一次,页…

EmguCV学习笔记 VB.Net 2.4 Image类

版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的。 EmguCV学习笔记目录 Vb.net EmguCV学习笔记目录 C# 笔者的博客网址:VB.Net-CSDN博客 教程相关说明以及如何获得pdf教…

【计算机网络】认识端口号 认识传输层协议 认识网络字节序 认识socket套接字

👦个人主页:Weraphael ✍🏻作者简介:目前正在学习c和算法 ✈️专栏:Linux 🐋 希望大家多多支持,咱一起进步!😁 如果文章有啥瑕疵,希望大佬指点一二 如果文章对…