当用作上下文管理器时,NpzFile会关闭自己吗?
问题描述:
在文档字符串的numpy.load()
我发现以下警告:当用作上下文管理器时,NpzFile会关闭自己吗?
对于
.npz
文件,NpzFile类返回的实例必须关闭,以避免泄露文件描述符。
我注意到,返回的NpzFile
对象既有__enter__()
和__exit__()
方法。
>>> with numpy.load('my_mile.npz') as data:
... A = data['A']
:
想如果我像这样使用它需要关闭它的自动照顾?
对我感到羞耻,我错过了它。谢谢! :-) – abukaj
如果我使用这个,我仍然可以在上下文之后看到'data'对象。我可以使用它的方法(如'.keys()')并获得正确的输出,但是如果我想用'data [a]'访问实际的数组,它会打印一些内部的numpy错误。 它的行为是否能够像那样访问对象? – clemisch
@clemisch查看接受的答案:https://stackoverflow.com/questions/6432355/variable-defined-with-with-statement-available-outside-of-with-block – abukaj