Python 使用不循环的PIL创建动画gif

Python 使用不循环的PIL创建动画gif,python,python-imaging-library,gifsicle,Python,Python Imaging Library,Gifsicle,我已经能够使用PIL创建无限循环的动画GIF,没有任何问题,通常会以类似的方式结束 final_image.save('/path/to/images/some.gif, save_all=True, 追加图像=帧图像, 持续时间=帧速度, 循环=0) 现在,我想创建一个只播放一次且不循环的gif。我使用的\的PIL文档非常清楚循环参数,但没有针对我的情况提供任何建议: 循环:int 迭代次数。默认值为0(表示无限循环) 0使其无限循环。1使其循环一次(播放两次)。我尝试过-1和None这样的选

我已经能够使用PIL创建无限循环的动画GIF,没有任何问题,通常会以类似的方式结束

final_image.save('/path/to/images/some.gif,
save_all=True,
追加图像=帧图像,
持续时间=帧速度,
循环=0)

现在,我想创建一个只播放一次且不循环的gif。我使用的\的PIL文档非常清楚循环参数,但没有针对我的情况提供任何建议:

循环:int
迭代次数。默认值为0(表示无限循环)

0使其无限循环。1使其循环一次(播放两次)。我尝试过-1和None这样的选项,但找不到有效的参数。我目前正在使用一种变通方法,在这种方法中,我随后调用gifsicle来完全删除循环,但希望PIL能够在本地支持这种方法


CharStyle-

如果您使用的是枕头,则可以省去循环参数。这将确保没有循环。
还要注意的是,持续时间是以毫秒为单位的,而不是以秒为单位。

loop=1意味着它循环(并因此播放)一次,而不是像你建议的那样循环两次?@Gavin不幸的是,不是,loop=1似乎会导致播放两次的顺序可能取决于imageio/pillow的版本-请参阅以下合并请求,因为旧版本的imageio和一些gif播放器(例如chrome)之间似乎不兼容@user1026361您似乎在当前发布的Python枕头中偶然发现了一个bug。我能够复制您的问题,事实上,GIF在传递时总是循环
n+1次
loop=n
-我只能建议将此作为一个错误提交给维护人员,并使用您的解决方法暂时强制执行单个循环。请注意,@Gavin是正确的,这个问题是相关的-Chrome为
n=1
循环两次,而有些观众只循环一次(而其他人则无休止地循环相同的.gif)。谢谢@Grismar和Gavin-我从未遇到PIL问题,也没有考虑过这可能是一个错误。我会继续我的工作,并与维修人员跟进。我不知道为什么这不是公认的答案。它对我有用。非常感谢。