前言

本文主要给大家介绍的关于Python批量压缩png的相关资料,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍:

1.需求

为什么会有这个需求?是因为游戏的资源大多是png图片,需要压缩,但是有些图片和文件夹里的图片,美术不想压缩,比如一些带透明度的光圈或者游戏的主要元素。所以要过滤下。发现python这个语言比较适合用在这个场景。所以写了点python.

2.源码

import os,sys

import os.path

rootdir=sys.path[0]

#需要过滤的文件

notActionFile = ["choose_bg1.png"]

#需要过滤的文件夹

notActionPath = ["test"]

#需要删除的文件

needDeleteFile = ["s2.png"]

def file_extension(path):

return os.path.splitext(path)[1]

for parent,dirnames,filenames in os.walk(rootdir):

for filename in filenames:

fullPath = os.path.join(parent,filename)

#删除文件

for deleteFile in needDeleteFile:

if filename == deleteFile:

os.remove(fullPath)

isFilter = False

#过滤文件压缩

for noActionName in notActionFile:

if noActionName == filename:

isFilter = True

#过滤文件夹压缩

for onePath in notActionPath:

lastPath = fullPath.split('\\')[-2]

if lastPath == onePath:

isFilter = True

if file_extension(fullPath) == ".png" and isFilter == False:

#print "action"

os.system("pngquant -f --ext .png --quality 50-80 \"" + fullPath + "\"")

print fullPath

用的是pngquant来压缩。

使用方法,就是复制这2个文件到需要压缩的文件夹下面,然后执行python main.py

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持

php 批量压缩png,利用Python批量压缩png方法实例(支持过滤个别文件与文件夹)...相关推荐

  1. python批量生成图片_利用Python批量生成任意尺寸的图片

    实现效果 通过源图片,在当前工作目录的/img目录下生成1000张,分别从1*1到1000*1000像素的图片. 效果如下: 目录结构 实现示例 # -*- coding: utf-8 -*- imp ...

  2. python批量读取图片并复制入word_提取出 Word 文档里的图片 并利用 python 批量转换格式...

    日常工作中,你是否遇到过这样的场景,领导发来一份 Word 文档,要求你将文档中的图片存储到一个文件夹内,并且还要将图片都改成 .jpg 或者 .png,你会怎么办?你是不是一边内心崩溃,一边开始一张 ...

  3. json字段顺序读取 python_如何利用Python批量读取视频文件的时间长度?

    本期的主题是利用Python来实现对视频文件时间长度的读取. 在学习编程语言时,相比较于通过书本来学习知识,我更喜欢通过观看学习视频的方式来进行学习,通过主讲老师的讲解,我能很直观且快速的了解一些知识 ...

  4. python 修改文件名_【学习分享】利用python批量修改文件名

    1 前言 分享一个利用python批量修改文件名的方法,我们以前分享过用DOS命令来批量修改文件名,但是如果要修改多个文件夹内的文件名,用DOS命令就不好处理了,我们就来分享一下如何用python处理 ...

  5. python批量生成图_利用Python批量生成任意尺寸的图片

    实现效果 通过源图片,在当前工作目录的/img目录下生成1000张,分别从1*1到1000*1000像素的图片. 效果如下: 目录结构 实现示例 # -*- coding: utf-8 -*- imp ...

  6. 利用python 批量下载美拍视频

    前些日子写了一个利用Python批量下载微博配图的程序,因为是基于微博的移动端,即weibo.cn  ,难度要小很多.而当我面对美拍时却发现,好像有点困难啊. 美拍的页面有很多动态元素,当我们打开某一 ...

  7. 利用Python批量识别电子账单数据

    文章目录 一.前言 二.调用Baidu aip识别 三.批量识别电子账单 一.前言 有一定数量类似如下截图所示的账单,利用 Python 批量识别电子账单数据,并将数据保存到Excel. 百度智能云接 ...

  8. python实现动态壁纸_利用Python批量提取Win10锁屏壁纸实战教程

    前言 相信使用Win10的朋友会发现,每次开机锁屏界面都会有不一样的漂亮图片,这些图片通常选自优秀的摄影作品,十分精美. 但是由于系统会自动更换这些图片,所以就算再好看的图片,也许下次开机之后就被替换 ...

  9. 利用python批量下载美拍视频

    前些日子写了一个利用python批量下载微博配图的程序,因为是基于微博的移动端,即weibo.cn  ,难度要小很多.而当我面对美拍时却发现,好像有点困难啊. 美拍的页面有很多动态元素,当我们打开某一 ...

最新文章

  1. Cocos Creator 的 动作(Action)系统:moveBy的使用
  2. Heritrix源码分析(六) Heritrix的文件结构分析
  3. java 抽象工厂 类图_spring学习中常用到的工厂,抽象工厂学习 | 学步园
  4. 再说javascript 的__proto__ 和prototype 属性
  5. HDU - 6185 Covering(暴搜+递推+矩阵快速幂/杜教BM)
  6. vector元素的读取
  7. Mysql经常使用命令
  8. 【病毒】开机弹出“tlntsvi_6635.exe程序”解决方案
  9. 在opencv中实现中文输出
  10. 明月传说怎么在电脑上玩 明月传说电脑版玩法攻略
  11. 操盘手教你抓涨停的办法
  12. journalctl日志工具使用方法
  13. 什么是 Holdout Set?
  14. [Squirrel基础]-- squirrel安装(通过Phoenix连接 HBase)
  15. iOS POS之3DES加密
  16. 已解决:出现了自己签名的证书。 错误: 证书通用名 “www.doctorcom.com” 与所要求的主机名 “raw.githubusercontent.com” 不符。
  17. 聊聊 Vue 中 provide/inject 的应用
  18. Confluence 6 新 Confluence 安装配置一个数据源连接
  19. 带你理解beta分布
  20. 近期准备秋招的一些体会

热门文章

  1. [LeetCode] Plus One - 整数字符转换相加
  2. 【数据结构与算法】之线性表的应用和操作
  3. 2019第十届蓝桥杯C/C++ A组省赛 —— 第一题:平方和
  4. 【STM32】外部中断
  5. c语言编译 64位,cmake – 编译32位和64位
  6. Linux图片的灰度化,iOS图像灰度解决方案--架构设计
  7. tif文件转pdf_PPT怎么转换成PDF文件?可以帮到你的PPT转PDF方法
  8. 支持python开发的环境有哪些变化_Python开发实践:打造完美的项目工程环境
  9. 安卓蓝牙键盘按键映射_多设备无缝切换 雷柏XK100无线蓝牙轻薄键盘评测
  10. 每天一道LeetCode-----根据中序遍历和后序遍历重构二叉树