我试图从许多HDF5文件中提取值并将其存储在列表中。如何在Python列表理解中关闭文件?
import h5py
h = [h5py.File('filenum_%s.h5' % (n),'r')['key'][10][10] for n in range(100)]
这个列表解析包含从HDF5文件filenum0.h5
'key' 的阵列中的网格点(10,10)的值 - filenum99.h5
。
它的工作原理,但它停止与周围的错误50元:
IOError: unable to open file (File accessibilty: Unable to open file)
即使我知道文件的存在,如果我还没有开设了许多其他文件可以打开。我想我得到的错误是因为打开了太多的文件。
有没有办法关闭这个列表中的文件理解? 或者,是否有更有效的方法来建立我想要的列表?
你不能,你最好用传统的循环。 – jonrsharpe
看到这篇文章https://stackoverflow.com/a/45929510/4531270 – pylang