php 批量压缩png,利用Python批量压缩png方法实例(支持过滤个别文件与文件夹)...
前言
本文主要給大家介紹的關于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方法实例(支持过滤个别文件与文件夹)...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php serialize取值,PHP
- 下一篇: php curl 下载图片,CURL实现