前言
本文主要給大家介紹的關(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ì)您有幫助就好】元

