需求
每个文件夹里面有三张图片,每个文件夹需要生成一个gif图片,测试自己一个人在网上自己一个一个的生成下载。趁着有时间然后想着帮忙写个python试一下,然后尝试开始写。写了一个小时,功能已经完成了,不考虑效率什么的,仅为了工作方便,记录下来。
源码备份
# -*- coding: UTF-8 -*-
import os
import imageio
# 遍历文件夹
def walkFile(file):
for root, dirs, files in os.walk(file):
# root 表示当前正在访问的文件夹路径
# dirs 表示该文件夹下的子目录名list
# files 表示该文件夹下的文件list
# 遍历文件
#for f in files:
# print(os.path.join(root, f))
# 遍历所有的文件夹
for d in dirs:
#print(dirs)
#print(os.path.join(root, d))
#print(d)
pretreatment(os.path.join(root, d), d)
def create_gif(image_list, gif_name):
frames = []
for root, dirs, files in os.walk(image_list):
for f in files:
print(image_list + f)
if f.endswith('.jpg'):
frames.append(imageio.imread(image_list + f))
#frames.append(imageio.imread(image_name))
imageio.mimsave(gif_name, frames, 'GIF', duration = 1)
#print(image_list)
#for image_name in image_list:
# print(image_name)
# if image_name.endswith('.jpg'):
# print(image_name)
# frames.append(imageio.imread(image_name))
#Save them as frames into a gif
#print(gif_name)
#print(frames)
#imageio.mimsave(gif_name, frames, 'GIF', duration = 1)
return
def pretreatment(path, gif_name):
#path=r'C:/Users/1996d/Desktop/gif/3countb/'
#image_list=[ path+img for img in os.listdir(path)]
gif_name = gif_name + '.gif'
path_ok = (path + '/').replace('\\','/')
#print(path_ok)
create_gif(path_ok, gif_name)
if __name__ == "__main__":
#main()
walkFile("C:/Users/1996d/Desktop/gif")