10089-2-指定目录下所有图片-包含子孙文件夹下-每个图片分别转换为gif图片-自定义图片变换时间-第一帧为黑屏-已经存在的gif不处理
代码功能概述
该代码实现了一个将指定目录及其子目录中的图片(除已有的GIF图片外)转换为GIF动画的工具。每个转换后的GIF动画由一帧黑色(或可切换为透明)背景帧和原始图片帧组成,并且可以设置图片变换的时间间隔。转换完成后,原图片会被删除。
用户操作步骤
- 运行程序:启动代码后,首先看到作者相关信息。
- 设置图片变换时间间隔:程序提示“设置每张图片变换的时间间隔(单位秒)如0.5: ”,用户需输入一个数字作为每张图片在生成的GIF动画中显示的时间间隔(单位为秒),程序会将其转换为毫秒。若输入值不是有效数字,程序提示重新输入并继续等待输入。
- 输入目录路径:接着程序提示“请输入包含图片的目录路径: ”,用户要输入包含图片的目录路径。程序会检查该路径是否存在且为有效目录,若不符合要求,提示重新输入并继续等待输入。
- 等待转换完成:程序遍历指定目录及其所有子目录,找到非GIF格式的图片文件,将其转换为RGB模式。为每张图片创建一个GIF动画,该动画第一帧为黑色(或透明,可在代码中切换)背景,第二帧为原始图片。转换后的GIF动画保存在原图片所在的文件夹,文件名与原图片文件名相同,只是扩展名变为
.gif。转换完成后,原图片会被删除。处理过程中,控制台会显示正在处理的图片文件名、处理完成信息及保存路径,处理完所有图片后,显示“所有图片处理完成。”。 - 决定是否继续:程序最后询问“是否要继续运行程序?(y/n): ”,若用户输入
y(不区分大小写),可重复上述步骤处理其他目录;若输入其他字符,程序终止运行。
对子文件夹及穿透情况
代码使用os.walk函数遍历abs_input_directory,这表明它不仅对主文件夹有效,还能穿透主文件夹下的所有子文件夹,对其中非GIF格式的图片进行转换操作。
实例验证
假设存在以下文件夹及文件结构:
主文件夹
│
├── 文件夹 A
│ ├── img1.jpg
│ ├── img2.png
│ └── existing_gif.gif
├── 文件夹 B
│ ├── img3.bmp
│ └── img4.jpeg
- 运行程序后,输入主文件夹路径。
- 设置图片变换时间间隔为
0.5秒。 - 程序会遍历主文件夹及其子文件夹,将
img1.jpg、img2.png、img3.bmp、img4.jpeg转换为GIF动画,每个GIF动画由一帧黑色背景和对应的图片帧组成,分别保存为img1.gif、img2.gif、img3.gif、img4.gif,并删除原图片。existing_gif.gif不会被处理。处理过程中,控制台会显示相应的处理信息。 - 处理完成后,若用户选择继续运行程序,可再次输入不同的目录路径进行新一轮的图片转换操作。
python版本:3.86
是否带UI界面:非UI版本
电脑系统版本:win10 64位 专业版系统(这是测试环境,其他环境也可以32位操作系统可能需要调整代码,让AI去转换即可)
脚本使用到的库:使用pycharm编辑器,如果没有安装相关库,会自动标红提示,鼠标放到标红的地方会弹出安装库按钮
重要提示:这是源代码,需要安装python使用,也可以自行修改部分代码实现想要的功能
查看源代码
- 随机文章
- 热门文章
- 热评文章
- 1731-批量以文件夹名命名文件名-以各文件所在文件夹名命名-自动在同名文件名后添加序列_1这样的序列名
- 2759-实时监测文件夹并移动文件及文件夹到指定文件夹内
- 3780-批量获取文件及文件夹信息导出到excell
- 4790-批量统计各文件夹下文件类型数量及文件夹路径输出到excell
- 5201-批量删除excell文件xlsx格式文件中的空行
- 610080-2-监测指定文件夹-对zip-rar-7z所有压缩包创建同名文件夹移入并解压-支持子孙文件夹下压缩包解压-支持多层嵌套压缩包的解压-支持密码库解压
- 720250108-批量将指定文件夹A下每个文件夹下文件平均随机分配到目标文件夹下各一级文件夹内
- 810083-批量解压rar分卷文件-txt中一行一个密码-自动匹配-解压完成后可选删除分卷
- 910046-0-批量为视频添加文字水印自动匹配视频时长-文字-高度-底色自定义
- 10100128-批量获取视频音频时长添加到文件名中支持子孙文件夹下操作





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