我試圖從許多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