4
我有一个matplotlib的问题。虽然试图百倍与savefig()
保存一些数据在一个循环中,它终于有以下错误结束:在循环中使用savefig()时IOError“打开的文件太多”
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)
为什么提出这个错误?它可能是一个多线程问题或内存泄漏?
也许只是提高限制。 – sk2212
我不在Linux环境中,但您的猜测很有趣。由于我现在正在进行纯粹的研究,因此我的算法尚未优化,有时可能会很贪婪,特别是对于大数据集。 – Deeder