如何在pyglet中关闭文件资源

时间:2015-11-12 04:43:13

标签: python-3.x pyglet

这绝对是this question的重复,但看到它在3个月内得到0回复,我似乎无法找到答案。问题应该很简单:一旦你完成pyglet中的文件(例如,视频或声音),你如何关闭该文件?我有一个应用程序,它必须迭代几十万个文件,依次处理每个文件。出于显而易见的原因,我得到OSError: Too many open files。有没有办法强制关闭pyglet的文件?

1 个答案:

答案 0 :(得分:0)

对于声音或视频文件,您可以使用Player delete() method关闭当前来源。

您还可以通过在加载调用中将streaming参数设置为false来将资源直接加载到内存中而不是从磁盘流式传输:

pyglet.media.load(filename, streaming=False)

如果所有其他方法都失败了,请尝试使用python.gc.collect()强制垃圾收集器。