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张免费