python 简易应用: 一键完成!将ios 的heic图片批量转为jpeg(二)

上一帖本来是打算用一个python脚本完成的 ,但是pyheif依赖安装没搞定,总是出错,因此折衷用了两步:1。先用py脚本处理

 2。再通过批处理调用imagemagick来实现,基本上也是一键完成, 只是分了两个步骤,详情请见:

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

上一帖本来是打算用一个python脚本完成的 ,但是pyheif依赖安装没搞定,总是出错,因此先用py脚本处理, 再通过批处理调用imagemagick来实现,基本上也是一键完成, 只是分了两个步骤,详情请见:

关于python依赖的安装, 参考我的前几帖:

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

关于python依赖的安装, 参考我的前几帖, 点这里进入!

使用方法,先照我上面的帖子安装配置好python, 并安装对应的依赖,在windows 对应目录新建文本文件 将以下代码复制粘帖,另存为py文件, 双击即可运行

import os
import shutil
from PIL import Image
from pillow_heif import register_heif_opener

# 注册 HEIF 解码器
register_heif_opener()

# 定义landrop目录的路径,使用当前目录
landrop_dir = os.getcwd()

# 定义heic目录的路径
heic_dir = os.path.join(landrop_dir, "heic")

# 定义jpeg目录的路径
jpeg_dir = os.path.join(landrop_dir, "jpeg")

# 如果heic和jpeg目录不存在,创建这些目录
if not os.path.exists(heic_dir):
    os.makedirs(heic_dir)

if not os.path.exists(jpeg_dir):
    os.makedirs(jpeg_dir)

# 第一步:复制heic文件到heic目录
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}")
        
        # 遍历文件夹中的所有文件
        for file in os.listdir(item_path):
            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}")

# 第二步:将heic目录中的heic文件转换为jpeg文件
for file in os.listdir(heic_dir):
    if file.lower().endswith(".heic"):
        heic_file_path = os.path.join(heic_dir, file)
        print(f"正在处理文件: {heic_file_path}")

        try:
            # 使用 pillow-heif 读取 HEIC 文件
            with Image.open(heic_file_path) as image:
                # 保存为 JPEG 格式
                jpeg_file_path = os.path.join(jpeg_dir, os.path.splitext(file)[0] + ".jpg")
                image.save(jpeg_file_path, "JPEG")
                print(f"已将 {heic_file_path} 转换为 {jpeg_file_path}")

        except Exception as e:
            print(f"处理 {heic_file_path} 时出错: {e}")

print("所有HEIC文件已复制并转换为JPEG文件。")

一键将ios 的heic图片批量转为jpeg! 欧耶!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值