代码功能概述
这段代码实现了一个图片压缩工具,它可以对指定文件夹及其子文件夹内的图片进行压缩,并支持多线程处理以提高压缩效率。代码还提供了将压缩后的图片移动到指定文件夹的功能,并且在每次操作完成后询问用户是否继续运行程序。
用户操作步骤
- 运行程序:启动代码后,程序首先会打印作者相关信息。
- 查看线程数:程序会显示“使用 [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使用,也可以自行修改部分代码实现想要的功能
查看源代码
- 随机文章
- 热门文章
- 723-批量将两个文件夹分别或同时按顺序-随机规则-移动或复制文件或文件夹到目标文件夹下各一级文件夹内
- 768-以文件中关键词创建文件夹并把包含该关键词的文件移动到该文件夹
- 搜索A文件夹内与B文件夹下快捷方式指向的最后一个文件夹同名文件夹并移动文件夹到快捷方式所在文件夹下
- 103-m3u8文件链接解析下载-合并ts及视频流片段视频及视频流音频流相同的视频
- 302-批量识别并删除指定文件夹下纯色无内容图片
- 10061-批量修改指定文件夹下lrc文件编码格式为utf8格式
- 1201-Windows 文件夹窗口标签化管理
- 1501-批量提取指定文件夹下文件到各一级文件夹根目录
- RJ0007-根据t输入的关键词-支持多个关键词-移动指定文件夹中的文件到指定文件夹去
- RJ0010-通过关键字创建文件夹并把包含该关键字的文件移动到该文件夹+输入关键词循环版




还没有评论,来说两句吧...