代码功能概述
这段代码实现了一个图片压缩工具,它可以对指定文件夹及其子文件夹内的图片进行压缩,并支持多线程处理以提高压缩效率。代码还提供了将压缩后的图片移动到指定文件夹的功能,并且在每次操作完成后询问用户是否继续运行程序。
用户操作步骤
- 运行程序:启动代码后,程序首先会打印作者相关信息。
- 查看线程数:程序会显示“使用 [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使用,也可以自行修改部分代码实现想要的功能
查看源代码
- 随机文章
- 热门文章
- 【00】300克铜版纸名片报价
- 707-批量查找括号中同名文件并创建文件夹将这些文件移入文件夹名为括号中内容
- 715-批量对指定文件夹下各子文件夹下所有子孙文件夹内文件提取-提取到各一级子文件夹根目录-并删除空文件夹
- 717-搜索指定文件夹下同名文件【包含子孙文件夹下文件】在目标文件夹下创建同名文件夹并将同名文件移入
- 756-对指定文件夹下文件及文件夹建立目录树-支持导出多种文件格式
- 785-批量重命指定文件夹内所有文件-指定名称+数字序列…形式
- 788-批量创建指定格式的指定数量-指定起始序列的文件夹
- 10080-1-监测指定文件夹-支持子孙文件夹-对所有压缩包创建同名文件夹移入并解压-只支持zip-rar-7z压缩包的解压
- 批量将pdf转为tiff格式-默认分辨率300-默认每页大小1.1
- Windows 启用长路径支持
- 1开通VIP会员享全站内容免费查看
- 2🔥🔥🔥常见问题 | 售后问题 | 程序购买 | 会员开通等问题
- 3752-批量复制文件及文件夹到多个文件夹
- 410081-1-批量解压自解压文件-【支持密码-子文件穿透】【不支持嵌套自解压或压缩包解压】-除自解压文件外不能有其他exe文件
- 5790-批量统计各文件夹下文件类型数量及文件夹路径输出到excell
- 6网页插入bilibili哔哩哔哩视频
- 7401-批量识别pdf中二维码并替换为指定图片或覆盖白色
- 8使用本站程序过程如果遇到问题请查看该文章说明
- 9431-批量合并指定文件夹下各文件夹内pdf为一个pdf文件
- 10【起步式】从python环境配置到使用AI写出第一个python程序(python版本3.86)
还没有评论,来说两句吧...