1 前言
本文记录于2020-11-28,主要实现利用python
将png
格式图片批量转存为jpg
格式。如不方便运行使用python,可转至代码封装为exe文件部分。
2 原理
png格式与jpg格式之间的转换,可通过直接更换后缀完成。
3 实现功能
-
读取 “ png ” 文件夹内含有的文件总数以及png格式图片个数;
-
若 “ png ” 文件夹内含有png格式图片,开始执行以下转换操作;
-
判断存放jpg图片的 “ jpg ” 文件夹是否存在,存在着清空文件夹,不存在则新建文件夹;
-
将png格式图片复制,更改后缀为jpg后存至 “ jpg ” 文件夹中,并输出处理结果。
4 代码
import os
import shutil
png_path = "./png" # png格式图片所在文件夹的路径
jpg_path = "./jpg" # jpg格式图片存放文件夹的路径
file_walk = os.listdir(png_path)
fileNum = 0 # png文件夹下所有文件个数计数
png_fileNum = 0 # png文件夹下png图片个数计数
for filePath in file_walk:
fileNum += 1
protion = os.path.splitext(filePath)
if protion[1].lower() == '.png': # 判断文件后缀是否为png
if png_fileNum == 0: # 当png文件夹中有png图片
# 判断是否存在jpg文件夹,存在则清空文件夹,不存在就建立文件夹
if os.path.exists(jpg_path):
shutil.rmtree(jpg_path)
os.mkdir(jpg_path)
print("jpg文件夹内原文件已清除")
else:
os.mkdir(jpg_path)
print("jpg文件夹已创建")
png_fileNum += 1
print("正在处理:" + filePath)
# 复制转存png图片为jpg格式到jpg文件夹中
shutil.copyfile(os.path.join(png_path, filePath), os.path.join(jpg_path, protion[0] + '.jpg'))
print('\n文件夹内共有' + str(fileNum) + '个文件,其中png格式文件有' + str(png_fileNum) + '个,已全部完成转换,存至jpg文件夹内')
# stop = input("\n\n请按回车键退出!") # 暂停查看信息
5 运行
5.1 运行前文件夹设置
python所在文件夹(只有python文件和png文件夹):
png文件夹(保存需要转换的png图片):
5.2 python运行后结果
不存在jpg文件夹(新建文件夹jpg)
jpg文件夹已创建
正在处理:20201125182129620.png
正在处理:20201125184408396.png
正在处理:20201125185718890.png
正在处理:20201125190302675.png
正在处理:20201125190653554.png
正在处理:20201125190935933.png
正在处理:20201125195454652.png
正在处理:20201125195815228.png
正在处理:20201125200045732.png
正在处理:202011252002278.png
正在处理:20201125200457297.png
正在处理:20201125201845871.png
正在处理:20201125202208111.png
正在处理:20201125202318461.png
正在处理:20201125202445599.png
正在处理:2020112520280741.png
正在处理:20201125203050943.png
正在处理:20201125203216831.png
正在处理:20201125203452829.png
正在处理:20201125204537121.png
正在处理:20201125204605648.png
正在处理:20201125204834186.png
文件夹内共有22个文件,其中png格式文件有22个,已全部完成转换,存至jpg文件夹内
python所在文件夹(增加jpg文件夹):
jpg文件夹(保存转换后的jpg文件):
png文件夹(无变动):
已存在jpg文件夹(清空文件夹内文件)
jpg文件夹内原文件已清除
正在处理:20201125182129620.png
正在处理:20201125184408396.png
正在处理:20201125185718890.png
正在处理:20201125190302675.png
正在处理:20201125190653554.png
正在处理:20201125190935933.png
正在处理:20201125195454652.png
正在处理:20201125195815228.png
正在处理:20201125200045732.png
正在处理:202011252002278.png
正在处理:20201125200457297.png
正在处理:20201125201845871.png
正在处理:20201125202208111.png
正在处理:20201125202318461.png
正在处理:20201125202445599.png
正在处理:2020112520280741.png
正在处理:20201125203050943.png
正在处理:20201125203216831.png
正在处理:20201125203452829.png
正在处理:20201125204537121.png
正在处理:20201125204605648.png
正在处理:20201125204834186.png
文件夹内共有22个文件,其中png格式文件有22个,已全部完成转换,存至jpg文件夹内
6 代码封装为exe文件
如不方便运行使用python,可 下载exe文件 至前文所提及python文件处,双击运行即可。
7 结语
本笔记仅用于记录,不作商用。
感谢各位读者的支持,真诚希望本文能对您有所帮助!