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
png quant 로 압축 했 습 니 다.
전체 항목 다운로드 주소:http://xiazai.jb51.net/201707/yuanma/compressImage(jb51.net).rar
사용 방법 은 이 두 파일 을 압축 할 폴 더 아래로 복사 한 다음 python main.py 를 실행 하 는 것 입 니 다.
총결산
이상 은 이 글 의 전체 내용 입 니 다.본 논문 의 내용 이 여러분 의 학습 이나 업무 에 어느 정도 도움 이 되 기 를 바 랍 니 다.궁금 한 점 이 있 으 시 면 댓 글 을 남 겨 주 십시오.저희 에 대한 지지 에 감 사 드 립 니 다.

좋은 웹페이지 즐겨찾기