我对 matplotlib 有一点问题。在尝试使用 循环保存一些数字一百次时savefig()
,它最终以以下错误结束:
IOError: [Errno 24] Too many open files: 'test_421.png'
我已经检查过每次figure
保存后我都会关闭它,但它似乎效率不高。
这是一个代码示例来说明我是如何得到这个错误的:
def displayFig(input, display, savePath):
fig = plt.figure(figsize=(22, 5))
# add some subplots, axis and colorbars...
if display:
plt.show()
else:
plt.savefig(savePath, dpi = 100)
plt.close(fig)
for i, inp in enumerate(inpArray):
savePath = 'test_%d.png' % i
displayFig(inp, False, savePath)
为什么会出现此错误?可能是多线程问题还是内存泄漏?