python: too many open files when using open fits file in a loop

参考网址:https://docs.astropy.org/en/stable/io/fits/appendix/faq.html#i-am-opening-many-fits-files-in-a-loop-and-getting-oserror-too-many-open-files

即便是使用with fits.open(filename) as f的方式,在循环中还是会出现“too many open files”的报错,苦苦寻觅了好久答案之后发现,由于astropy默认使用的是mmap的方式读取fits文件,所以即便是关闭了,但是memory-mapped array还是能够被读取。

所以需要在最后加上del 某些数据

或者是在循环的最后加上gc.collect()

plt.clf()

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容