98世界杯主题曲_世界杯4强 - dajimy.com

@TOC

前言本文介绍一个用python第三方库pillow写的批量处理图片格式转换的脚本,以及脚本对应的使用tkinter库写的GUI界面并把它打包成exe可执行文件,打包成可执行文件的好处就是它支持多种操作系统,如 Windows、Linux 和 Mac OS 等。不了解pillow库和tkinter库的可以看我之前的文章,具体在下面的导航区域。

导航pillow库的使用篇图像处理库Pillow(PIL)的使用-1(实例+详细注释+图片脚本)图像处理库Pillow(PIL)的使用-2(实例+详细注释+图片脚本)图像处理库Pillow(PIL)的使用-3(实例+详细注释+图片脚本)图片脚本篇python图片脚本1-批量处理图片尺寸(详细注释+GUI界面+exe可执行文件)python图片脚本2-图片文件批量命名(详细注释+GUI界面+exe可执行文件)python图片脚本3-批量图片格式转换-(详细注释+GUI界面+exe可执行文件)python图片脚本4-批量图片加水印(详细注释+GUI界面+exe可执行文件)Tkiner库的使用篇图形化界面的开发(GUI):Tkinter库的使用-1(综述)图形化界面的开发(GUI):Tkinter库的使用-2(Label+Message+Text)图形化界面的开发(GUI):Tkinter库的使用用-3(Button+Radiobutton+Checkbutton)图形化界面的开发(GUI):Tkinter库的使用-4(Entry+Spinbox+Listbox+Combobox)图形化界面的开发(GUI):Tkinter库的使用-5(Menu+Canvas+Scale+Scrollbar)批量处理图片尺寸脚本源码代码语言:python复制from PIL import Image # 图片处理库

import os # 文件管理库

# 批量图片格式转换函数

"""

参数:

input_path: 输入文件夹路径

output_path: 输出文件夹路径

format: 文件格式/后缀

"""

def convert_images(input_path, output_path, format):

# 判断输出文件夹是否存在,不存在则创建

if not os.path.exists(output_path):

os.makedirs(output_path)

# 遍历输入文件夹

for file in os.listdir(input_path):

# 判断文件是否为图片

if file.endswith('.jpg') or file.endswith('.png') or file.endswith('.jpeg') or file.endswith('.bmp'):

img = Image.open(os.path.join(input_path, file))

# 转换图片格式

img.save(os.path.join(output_path, file.split('.')[0] + '.' + format))

print(f'{file}-->{file.split(".")[0] + "." + format} 转换完成')

input_path = '../iamges'

output_path = 'output'

format = 'jpg'

convert_images(input_path, output_path, format)效果GUI界面源码代码语言:python复制from PIL import Image # 图片处理库

import os # 文件管理库

import tkinter as tk # GUI库

from tkinter import filedialog, messagebox # filedialog 用于选择文件夹,messagebox 用于提示信息

# 批量图片格式转换函数

"""

参数:

input_path: 输入文件夹路径

output_path: 输出文件夹路径

format: 格式

"""

def convert_images(input_path, output_path, format):

# 判断输出文件夹是否存在,不存在则创建

if not os.path.exists(output_path):

os.makedirs(output_path)

# 遍历输入文件夹

for file in os.listdir(input_path):

# 判断文件是否为图片

if file.endswith('.jpg') or file.endswith('.png') or file.endswith('.jpeg') or file.endswith('.bmp'):

img = Image.open(os.path.join(input_path, file))

# 转换图片格式

img.save(os.path.join(output_path, file.split('.')[0] + '.' + format))

print(f'{file}-->{file.split(".")[0] + "." + format} 转换完成')

input_path = '../iamges'

output_path = 'output'

format = 'jpg'

convert_images(input_path, output_path, format)

#GUI界面

def convert_images_gui():

# 获取输入,输出路径和格式

format = entry_format.get()

input_path = entry_input.get()

output_path = entry_output.get()

# 调用批量图片格式转换函数

convert_images(input_path, output_path, format)

# 显示提示信息

messagebox.showinfo('提示', '转换完成')

# 界面设计

root = tk.Tk()

# 设置窗口标题

root.title('批量图片格式转换')

# 设置窗口大小

root.geometry('400x400')

# 设置标签

label_input = tk.Label(root, text='输入文件夹路径:')

# 放置标签,并设置位置,第而行第五列(索引从0开始),padx和pady分别为左右边距和上下边距

label_input.grid(column=4, row=1, padx=10, pady=10)

# 设置输入框

entry_input = tk.Entry(root)

# 放置输入框

entry_input.grid(column=5, row=1, padx=10, pady=10)

# 设置按钮,点击按钮弹出文件选择对话框,并将选择的文件路径插入输入框,command参数为一个匿名函数,用于在点击按钮时执行

tk.Button(root, text="浏览",

command=lambda: entry_input.delete(0, tk.END) or entry_input.insert(0, filedialog.askdirectory())).grid(column=6, row=1)

# 设置标签

label_output = tk.Label(root, text='输出文件夹路径:')

# 放置标签,并设置位置

label_output.grid(column=4, row=2, padx=10, pady=10)

# 设置输入框

entry_output = tk.Entry(root)

# 放置输入框,并设置位置

entry_output.grid(column=5, row=2, padx=10, pady=10)

# 设置按钮,点击按钮弹出文件选择对话框,并将选择的文件路径插入输入框,command参数为一个匿名函数,用于在点击按钮时执行

tk.Button(root, text="浏览",

command=lambda: entry_output.delete(0, tk.END) or entry_output.insert(0, filedialog.askdirectory())).grid(column=6, row=2)

# 设置标签

label_format = tk.Label(root, text='格式:')

# 放置标签,并设置位置

label_format.grid(column=4, row=3, pady=10, padx=10)

# 设置输入框

entry_format = tk.Entry(root)

# 放置输入框,并设置位置

entry_format.grid(column=5, row=3, padx=10, pady=10)

# 设置按钮,点击按钮调用批量图片格式转换gui函数

button_convert = tk.Button(root, text='运行', command=convert_images_gui)

# 放置按钮,并设置位置

button_convert.grid(column=5, row=4, columnspan=2,padx=40, pady=10,sticky='ew' )

# 启动GUI

root.mainloop()效果加了个图片背景图,个人感觉比原来单调的颜色好多了。

打包成.exe可执行文件需要安装python第三方库pyinstaller

代码语言:bash复制pip install pyinstaller在文件所在目录的终端输入下面的命令,就可以把把刚刚的GUI界面打包成一个.exe可执行文件。

代码语言:bash复制pyinsataller filenamefilename是要打包的源文件的名称

比如我要打包我写的图片批量命名的脚本打包成.exe可执行文件,可以在终端使用下面的命令:

代码语言:bash复制pyinstaller imageScript2.py 共勉 努力工作是为了更好的生活!

博客本人是一个渗透爱好者,不时会在微信公众号(laity的渗透测试之路)更新一些实战渗透的实战案例,感兴趣的同学可以关注一下,大家一起进步。之前在公众号发布了一个kali破解WiFi的文章,感兴趣的同学可以去看一下,在b站(up主:laity1717)也发布了相应的教学视频