前言
本文主要給大家介紹的關于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來壓縮。
完整項目下載地址:http://xiazai.jb51.net/201707/yuanma/compressImage(jb51.net).rar
使用方法,就是復制這2個文件到需要壓縮的文件夾下面,然后執行python main.py
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
