吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 2342|回复: 1
收起左侧

[Python 原创] 【Python】使用python 配合pngquant批量压缩图片

  [复制链接]
Ag2S 发表于 2020-2-16 09:58
本帖最后由 Ag2S 于 2020-2-16 10:07 编辑

PS:pngquant:https://pngquant.org/pngquant-windows.zip
[Python] 纯文本查看 复制代码
#!/usr/bin/python3
# coding=utf-8
import os, sys
import re
#调用pngquant压缩png
def tinypng(img):
    path='C:/libs/ffmpeg/pngquant/pngquant.exe'
    
    #path='pngquant.exe' #如果配置了环境变量
    cmd=path+' --force --skip-if-larger --verbose 256   \"'+img+'\"'
    res=os.popen(cmd);
    output_str = res.read()
    print(output_str)

def tinAllPNG(rootdir):
    _files = []
    list = os.listdir(rootdir) #列出文件夹下所有的目录与文件
    for i in range(0,len(list)):
           path = os.path.join(rootdir,list[i])
          
           if os.path.isdir(path):
              _files.extend(tinAllPNG(path))
           if os.path.isfile(path):
              if(path.endswith('.png')and path.endswith('-fs8.png')==False):
                  tinypng(path)
                  print(path)
              _files.append(path)
    #print(_files)
    return _files
    
def ReplaceAll(rootdir):
    _files = []
    list = os.listdir(rootdir) #列出文件夹下所有的目录与文件
    for i in range(0,len(list)):
           path = os.path.join(rootdir,list[i])
           
           if os.path.isdir(path):
              _files.extend(ReplaceAll(path))
           if os.path.isfile(path):
              if(path.endswith('-fs8.png')):
                  npath=path.replace('-fs8','')
                  os.remove(npath)
                  os.rename(path,npath)
                  print(path)
              _files.append(path)
    #print(_files)
    return _files

tinAllPNG('./')
ReplaceAll('./')

免费评分

参与人数 1吾爱币 +1 收起 理由
lm180180 + 1 用心讨论,共获提升!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

duchengen 发表于 2021-7-5 11:43
您好,最好可以给出测试结果值,比如1M的png压缩结果是多少,我现在挺需要一个好的批量压缩解决方案的。我收藏了一些压缩图片的网站,他们的压缩比例很恐怖,而且丝毫没有损失,真是太夸张了,不明白为什么ps没有具备这种功能。下面是其中的一个网站,可以研究下~https://www.picdiet.com/zh-cn
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 15:24

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表