当用作上下文管理器时,NpzFile会自行关闭吗?

时间:2017-08-24 17:44:21

标签: python numpy file-descriptor contextmanager resource-leak

numpy.load()的docstring中,我发现了以下警告:

  

对于.npz文件,必须关闭返回的NpzFile类实例,以避免泄漏文件描述符。

我注意到,返回的NpzFile对象同时包含__enter__()__exit__()方法。

如果我像这样使用它会自动关闭它吗?

>>> with numpy.load('my_mile.npz') as data:
...     A = data['A']

1 个答案:

答案 0 :(得分:1)

是。使用with语句将关闭类文件对象。以下是一个示例,直接来自the documentation

with load('foo.npz') as data:
    a = data['a']