原标题:10087-一键压缩指定文件夹下JPEG-PNG-BMP-GIF-TIFF格式图大小-选择是否移动压缩后的图片到指定文件夹【源代码】
导读:
代码功能概述这段代码实现了一个图片压缩工具,它可以对指定文件夹及其子文件夹内的图片进行压缩,并支持多线程处理以提高压缩效率。代码还提供了将压缩后的图片移动到指定文件夹的功能,...
代码功能概述
这段代码实现了一个图片压缩工具,它可以对指定文件夹及其子文件夹内的图片进行压缩,并支持多线程处理以提高压缩效率。代码还提供了将压缩后的图片移动到指定文件夹的功能,并且在每次操作完成后询问用户是否继续运行程序。
用户操作步骤
- 运行程序:启动代码后,程序首先会打印作者相关信息。
- 查看线程数:程序会显示“使用 [X] 个线程进行图像压缩”,这里的
[X]
是根据计算机CPU核心数自动获取的线程数量。 - 输入文件夹路径:程序提示“请输入要压缩图像文件所在的文件夹路径”,用户需输入包含待压缩图片的文件夹路径。
- 等待压缩完成:程序开始遍历指定文件夹及其子文件夹内的图片文件,判断文件是否为支持的图像格式(
JPEG
、PNG
、BMP
、GIF
、TIFF
),若是则使用多线程进行压缩。压缩后的图片文件名在原文件名基础上添加_compressed
后缀。压缩过程中,控制台会显示每张图片压缩前后的大小信息。 - 选择是否移动文件:压缩完成后,程序询问“是否将压缩后的文件移动到指定文件夹?(yes/no)”,用户输入
yes
,则需接着输入目标文件夹路径,程序会将所有压缩后的图片移动到该文件夹,并在控制台显示移动信息;若输入其他字符,则不进行移动操作。 - 决定是否继续:程序最后询问“是否要继续运行程序?(y/n): ”,若用户输入
y
,则可重复上述步骤处理其他文件夹的图片;若输入其他字符,程序终止运行。
对子文件夹及穿透情况
代码使用os.walk
函数遍历folder_path
,这表明它不仅对主文件夹有效,还能穿透主文件夹下的所有子文件夹,对其中符合支持格式的图片进行压缩处理。
实例验证
假设存在以下文件夹及文件结构:
主文件夹
│
├── 文件夹 A
│ ├── img1.jpg
│ ├── img2.png
│ └── not_image.txt
├── 文件夹 B
│ ├── img3.bmp
│ └── img4.gif
└── img5.tiff
- 运行程序后,输入主文件夹路径作为要压缩图像文件所在的文件夹路径。
- 程序会遍历主文件夹及其子文件夹,识别并压缩
img1.jpg
、img2.png
、img3.bmp
、img4.gif
、img5.tiff
,压缩过程中在控制台显示每张图片压缩前后的大小信息。not_image.txt
因不是图片文件不做处理。 - 压缩完成后,若用户输入
yes
并指定一个目标文件夹路径(如C:\compressed_images
),程序会将所有压缩后的图片移动到该文件夹,并显示移动信息。 - 处理完成后,提示操作完成信息。若用户选择继续运行程序,可再次输入不同的文件夹路径进行新一轮的图片压缩及移动操作。
python版本:3.86
是否带UI界面:非UI版本
电脑系统版本:win10 64位 专业版系统(这是测试环境,其他环境也可以32位操作系统可能需要调整代码,让AI去转换即可)
脚本使用到的库:使用pycharm编辑器,如果没有安装相关库,会自动标红提示,鼠标放到标红的地方会弹出安装库按钮
重要提示:这是源代码,需要安装python使用,也可以自行修改部分代码实现想要的功能
查看源代码
- 随机文章
- 热门文章
- 722-批量获取指定文件夹下所有文件名或文件夹名或完整路径并写入txt
- 750-批量删除指定文件夹下指定文件
- 759-实时监测文件夹并移动文件及文件夹到指定文件夹内
- 781-按照创建日期-最后修改日期提取文件名到excell
- 784-批量搜索移动或复制指定文件夹下指定名称的指定格式的文件到指定文件夹
- 790-批量统计各文件夹下文件类型数量及文件夹路径输出到excell
- 搜索A文件夹内与B文件夹下快捷方式指向的最后一个文件夹同名文件夹并移动文件夹到快捷方式所在文件夹下
- 112-批量缩放mp4视频到指定720-1080尺寸
- 100128-批量获取视频音频时长添加到文件名中支持子孙文件夹下操作
- 100132-批量将视频格式转换为mp4文件支持子孙文件夹操作
- 1开通VIP会员享全站内容免费查看
- 2🔥🔥🔥承接各种批处理工具定制 / 售后相关信息 / 任何需求请在该文章下留言
- 3752-批量复制文件及文件夹到多个文件夹
- 410081-1-批量解压自解压文件-【支持密码-子文件穿透】【不支持嵌套自解压或压缩包解压】-除自解压文件外不能有其他exe文件
- 5790-批量统计各文件夹下文件类型数量及文件夹路径输出到excell
- 6网页插入bilibili哔哩哔哩视频
- 7401-批量识别pdf中二维码并替换为指定图片或覆盖白色
- 8431-批量合并指定文件夹下各文件夹内pdf为一个pdf文件
- 9Adobe程序完全卸载教程完全卸载无残留-【包括单个程序卸载和全部程序卸载】(win系统版本)
- 10为ps脚本添加快捷键快速调用
还没有评论,来说两句吧...