前言
本文主要給大家介紹的關于Python批量壓縮png的相關資料,分享出來供大家參考學習,下面話不多說了,來一起看看詳細的介紹:
1.需求
為什么會有這個需求?是因為游戲的資源大多是png圖片,需要壓縮,但是有些圖片和文件夾里的圖片,美術不想壓縮,比如一些帶透明度的光圈或者游戲的主要元素。所以要過濾下。發現python/214979.html">python這個語言比較適合用在這個場景。所以寫了點python.
2.源碼
import os,sysimport os.pathrootdir=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
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對VEVB武林網的支持
新聞熱點
疑難解答