Python实现Tinypng API图片批量压缩

其实非常简单,直接参考官网API文档:

import tinify
tinify.key = "YOUR_API_KEY"
source = tinify.from_file("unoptimized.jpg")
source.to_file("optimized.jpg")

上面的几行代码,基本上一看就知道什么意思了

下面是完整代码

    import os
    import tinify
    
    tinify.key = "YOUR_API_KEY"

    def main():
        walk = os.walk(r"source")
        # 扫描目录下的所有文件。
        for path, dir_list, file_list in walk:
            for file_name in file_list:
                # 遍历
                from_path = os.path.join(path, file_name)
                to_path = os.path.join('output', file_name)
                # 上传
                source = tinify.from_file(from_path)
                # 写入
                source.to_file(to_path)

    main()

这里的输入和输出的目录都是放在与此程序同级的目录下,实际情况可能会根据使用输入会比较方便,毕竟不用每次都复制到固定目录下。

Tinypng的免费API是限制每月压缩数量的,可以根据自己情况,使用其它邮箱,注册多一两个即可。

参考文档

API Reference - Python

Python遍历文件夹下所有文件及目录

tinypng图片压缩

你可能感兴趣的:(Python实现Tinypng API图片批量压缩)