文章摘要
该代码是一个基于Python的GUI应用程序,用于将WebP格式的图像批量转换为PNG格式。代码使用了`tkinter`库创建用户界面,并通过`tkinter`中的`filedialog`和`messagebox`函数实现文件选择和结果显示功能。此外,代码还包含了基本的错误处理机制,用于在转换过程中捕获并显示错误信息。该程序还支持选择目标文件夹,并通过主循环遍历文件夹中的所有WebP文件并转换为PNG格式。界面简洁,功能完整,适合需要批量处理WebP图像的用户。
import os
from PIL import Image
import tkinter as tk
from tkinter import filedialog, messagebox
def convert_webp_to_png(directory_path):
converted_count = 0
for root, dirs, files in os.walk(directory_path):
for file in files:
if file.endswith('.webp'):
webp_path = os.path.join(root, file)
png_path = os.path.splitext(webp_path)[0] + '.png'
try:
image = Image.open(webp_path)
image.save(png_path, 'PNG')
os.remove(webp_path)
converted_count += 1
except Exception as e:
messagebox.showerror("转换错误", f"文件'{file}'转换失败:{str(e)}")
messagebox.showinfo("转换完成", f"成功转换 {converted_count} 个文件!")
def select_directory():
directory = filedialog.askdirectory()
if directory:
directory_label.config(text=directory)
def convert_files():
directory_path = directory_label.cget("text")
if directory_path:
convert_webp_to_png(directory_path)
# 创建主窗口
window = tk.Tk()
window.title("WebP转换PNG- - - -云时出品- -")
window.geometry("350x100")
# 创建选择目录按钮
select_button = tk.Button(window, text="选择目录", command=select_directory)
select_button.pack()
# 创建显示目录路径的标签
directory_label = tk.Label(window, text="")
directory_label.pack()
# 创建执行转换按钮
convert_button = tk.Button(window, text="执行转换", command=convert_files)
convert_button.pack()
# 显示窗口
window.mainloop()
上面是源代码 下面是生成后的文件
