TinyPNG批量压缩脚本

2024-01-15  本文已影响0人  林时工快睡觉

TinyPNG 提供了 API,你可以使用它来批量压缩图片。以下是一个简单的 Python 脚本示例,演示如何使用 TinyPNG 的 API 批量压缩图片:

首先,你需要在 TinyPNG 的网站上注册账号并获取 API 密钥。然后,你可以使用以下脚本:

import tinify
import os

# 设置 TinyPNG API 密钥
tinify.key = "kX53y2cF4QlJsngZ57w17BfhYDF66Hr1tYm1232313"

# 设置要压缩的图片文件夹路径
input_folder = "/Users/lvxuming/Desktop/HHKB/图片压缩前路径"

# 设置输出文件夹路径
output_folder = "/Users/lvxuming/Desktop/HHKB/图片压缩后路径"

def compress_image(input_path, output_path):
    try:
        # 压缩图片
        source = tinify.from_file(input_path)
        source.to_file(output_path)
        print(f"已压缩: {input_path}")
    except tinify.errors.AccountError as e:
        print(f"TinyPNG API 密钥错误或已超过限制。错误信息: {e}")
    except tinify.errors.ClientError as e:
        print(f"压缩图片时发生客户端错误。错误信息: {e}")
    except tinify.errors.ServerError as e:
        print(f"TinyPNG 服务器发生错误。错误信息: {e}")
    except tinify.errors.ConnectionError as e:
        print(f"连接到 TinyPNG 服务器时发生错误。错误信息: {e}")
    except Exception as e:
        print(f"发生未知错误。错误信息: {e}")

def batch_compress_images(input_folder, output_folder):
    # 确保输出文件夹存在
    if not os.path.exists(output_folder):
        os.makedirs(output_folder)

    # 遍历输入文件夹中的所有图片文件
    for filename in os.listdir(input_folder):
        if filename.endswith(('.png', '.jpg', '.jpeg')):
            input_path = os.path.join(input_folder, filename)
            output_path = os.path.join(output_folder, filename)

            # 压缩图片
            compress_image(input_path, output_path)

if __name__ == "__main__":
    batch_compress_images(input_folder, output_folder)
最后执行下脚本代码,压缩成功
python script.py   

已压缩: /Users/lvxuming/Desktop/HHKB/图片压缩前路径/财富升级弹框_1@3x.png

🔴 注意:每个月只有500张免费

上一篇 下一篇

猜你喜欢

热点阅读