import os import re import imageio pic_list = os.listdir() pic_type = ['png', 'jpg', 'jpeg', 'bmp'] def create_gif(image_list, gif_name, duration): """ gif_name : 字符串,所生成的 gif 文件名,带 .gif 后缀 path : 需要合成为 gif 的图片所在路径 duration : gif 图像时间间隔 """ frames = [] # 把图片 append 进列表 for image_name in image_list: frames.append(imageio.imread(image_name)) # 保存为 gif 图 imageio.mimsave(gif_name, frames, 'GIF', duration=duration) return def main(): # -------- 获取要拼合的图片列表 ------- image_list = [] for p in pic_list: for pt in pic_type: if pt in p: image_list.append(p) image_list.sort(key=lambda i: int(re.match(r'(d+)', i).group())) print(image_list) # --------- 生成gif图片名称 --------- gif_name = 'new.gif' # --------- 变换时间 ------- duration = 1 create_gif(image_list, gif_name, duration) if __name__ == "__main__": main()