猿问

plt.savefig 如何在内部处理文件处理程序问题(文件引用打开/关闭)?

In [2]: lst = ['ABC','DEF','GHIJ']


In [3]: sum([len(i) for i in lst])/len(lst)

Out[3]: 3.3333333333333335


达令说
浏览 172回答 1
1回答

拉丁的传说

这取决于您实际使用哪个后端来绘制图像。从您发布的片段中,matplotlib 会猜测应该使用 PNG 后端。这反过来又创建了一个matplotlib.backends.backend_agg.FigureCanvasAgg.这个类做这样的实际保存:def print_raw(self, filename_or_obj, *args, **kwargs):    FigureCanvasAgg.draw(self)    renderer = self.get_renderer()    with cbook._setattr_cm(renderer, dpi=self.figure.dpi), \            cbook.open_file_cm(filename_or_obj, "wb") as fh:        fh.write(renderer._renderer.buffer_rgba())所以没有悬空的打开文件。该文件保证正确关闭。看看源代码。
随时随地看视频慕课网APP

相关分类

Python
我要回答