前言
本文主要給大家介紹的關(guān)于Python批量壓縮png的相關(guān)資料,分享出來(lái)供大家參考學(xué)習(xí),下面話不多說(shuō)了,來(lái)一起看看詳細(xì)的介紹:
1.需求
為什么會(huì)有這個(gè)需求?是因?yàn)橛螒虻馁Y源大多是png圖片,需要壓縮,但是有些圖片和文件夾里的圖片,美術(shù)不想壓縮,比如一些帶透明度的光圈或者游戲的主要元素。所以要過濾下。發(fā)現(xiàn)python這個(gè)語(yǔ)言比較適合用在這個(gè)場(chǎng)景。所以寫了點(diǎn)python.
2.源碼
import os,sys import os.path rootdir=sys.path[0] #需要過濾的文件 notActionFile = ["choose_bg1.png"] #需要過濾的文件夾 notActionPath = ["test"] #需要?jiǎng)h除的文件 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來(lái)壓縮。
完整項(xiàng)目下載地址:http://xiazai.jb51.net/201707/yuanma/compressImage(jb51.net).rar
使用方法,就是復(fù)制這2個(gè)文件到需要壓縮的文件夾下面,然后執(zhí)行python main.py
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來(lái)一定的幫助,如果有疑問大家可以留言交流,謝謝大家對(duì)腳本之家的支持
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

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