利用python一鍵將webp格式圖片轉換爲png或者jpg

目錄

1、博客介紹

2、內容

.主體內容

.批處理一鍵調用

3、推送

4、結語


1、博客介紹

最近從網頁上摘下來的資源有好多webp格式的圖片,需要轉爲png或jpg,之前也沒怎麼看過python,稍微看了一下寫了個小工具,能夠將同級目錄下所有webp格式的圖片全部轉爲png或者jpg,博主是在python2.7環境下做的開發,效果如下:


2、內容

 

.主體內容

直接上代碼吧,沒啥繞的,就是檢索目錄下所有的webp然後轉爲png,保存後再把原圖給刪了,代碼中註釋很全


# 功能 : 將當前工作目錄下所有webp格式轉爲png or jpg
# -*- coding: UTF-8 -*-
import os
from PIL import Image

# 返回當前工作目錄
CURRENT_PATH = os.getcwd()

# 轉換格式
IMG_EXP = ".png"

# 獲取最高所有文件
cur_all_files   = os.listdir(CURRENT_PATH)
# 轉換列表
imgList         = []

# 遍歷文件夾,儲存webp格式的路徑到列表內
def findFileForImage(filePath):
    child_all_files = os.listdir(filePath)
    for child_file_name in child_all_files:
    	sPath = os.path.join(filePath, child_file_name)
    	if os.path.isdir(sPath):
    		findFileForImage(sPath)
    	n,e = os.path.splitext(child_file_name)
    	if e.lower() == ".webp":
    		imgList.append(os.path.join(filePath, n))


# 檢索目錄下所有的webp文件,如果是文件夾則繼續向下檢索
for file_name in cur_all_files:
    nPath = os.path.join(CURRENT_PATH, file_name)
    # 文件夾
    if os.path.isdir(nPath):
    	findFileForImage(nPath)
        continue
    # 儲存
    name, ext = os.path.splitext(file_name)
    if ext.lower() == ".webp":
        imgList.append(os.path.join(CURRENT_PATH, name))


# 轉換圖片
def convertImage():
	for webpPath in imgList:
		print(webpPath)

		# 打開圖片並賦值一份新的圖片
		img = Image.open(webpPath+".webp")
		img.load()
		# 將賦值的圖片修改後綴保存在原路徑
		img.save(webpPath+IMG_EXP)
		# 刪除原webp圖
		os.remove(webpPath+".webp")

# 執行
convertImage()


.批處理一鍵調用

這裏做個批處理文件直接一鍵調用

@echo off


rem %0         代指批處理文件自身
rem %~d0       是指批處理所在的盤符
rem %~dp0      是盤符加路徑

rem cd %~dp0   就是進入批處理所在目錄了
 
echo local_cap  
C:  
cd %~dp0
start python ConvertImage.py 
rem 使用ping命令暫停3s,這樣可以看到調用python後的結果
::ping -n 10 127.0.0.1 > nul 

3、推送

源碼:https://github.com/KingSun5/WebpToPngByPython


4、結語

若是覺得博主的文章寫的不錯,不妨關注一下博主,點贊一下博文,另博主能力有限,若文中有出現什麼錯誤的地方,歡迎各位評論指摘。

       QQ交流羣:806091680(Chinar)

       該羣爲CSDN博主Chinar所創,推薦一下!我也在羣裏!

       本文屬於原創文章,轉載請著名作者出處並置頂!!!!
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章