Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/280.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何仅将最后六幅最新图像设置为GIF动画?_Python_Python 3.x_Python Imageio - Fatal编程技术网

Python 如何仅将最后六幅最新图像设置为GIF动画?

Python 如何仅将最后六幅最新图像设置为GIF动画?,python,python-3.x,python-imageio,Python,Python 3.x,Python Imageio,我需要创建一个GIF从最后七个最新的图像从一个目录。该目录每10分钟不断更新和添加新图像,因此我已经可以编写代码来创建GIF,包括目录中的所有文件,但我需要更具体一些,只需从最近七张最新图像创建GIF即可。总之:我需要指定代码创建GIF所需的图像限制。。以下是迄今为止的代码: import imageio import os import time now = time.time() png_dir = 'C:/Users/dchacon/Desktop/Destino/' imag

我需要创建一个GIF从最后七个最新的图像从一个目录。该目录每10分钟不断更新和添加新图像,因此我已经可以编写代码来创建GIF,包括目录中的所有文件,但我需要更具体一些,只需从最近七张最新图像创建GIF即可。总之:我需要指定代码创建GIF所需的图像限制。。以下是迄今为止的代码:

import imageio
import os
import time   

now = time.time()

png_dir = 'C:/Users/dchacon/Desktop/Destino/' 
images = []
for file_name in os.listdir(png_dir):
    if file_name.endswith('.png'):
        file_path = os.path.join(png_dir, file_name)
        images.append(imageio.imread(file_path))
        imageio.mimsave('C:/Users/dchacon/Desktop/Destino/NTMPCA.gif', images, fps=1)

我的想法和书中建议的一样。有关按修改数据排序的目录中所有文件的适当列表,请参阅。我们只需要将
reverse=True
添加到接受答案的
sorted
调用中,这样我们就可以在列表的开头看到最新的图像。剩下的是一些列表理解和您的保存呼叫:

导入图像IO
导入操作系统
从pathlib导入路径
#获取所有图像文件路径,按修改日期排序,最新优先
png_dir='your/images/path/'
image\u Path=sorted(Path(png\u dir).iterdir(),
key=os.path.getmtime,
反向=真)
#获取六个最新图像,并保存GIF
images=[imageio.imread(image\u path)用于image\u路径中的image\u路径[:6]]
imageio.mimsave('NTMPCA.gif',图像,fps=1)
我得到了测试目录中六个最新图像的正确GIF

----------------------------------------
系统信息
----------------------------------------
平台:Windows-10-10.0.16299-SP0
Python:3.8.5
图像IO:2.9.0
----------------------------------------

使用“os.stat”,您可以检索文件的创建和修改时间戳。然后你可以检查它是否在最后70分钟左右,也许可以按时间对文件排序,然后进一步处理它们。嗯…,你的标题是6,代码是7。尝试获取文件列表并按修改日期排序。