以下を使用して、いくつかの 2,000 FITS をメモリにロードしようとしていますastropy.io.fits
。
def readfits(filename):
with fits.open(filename) as ft:
# the fits contain a single HDU
data = ft[0].data
return data
data_sci = []
for i in range(2000):
data_sci.append(readfits("filename_{}.fits".format(i)))
ただし、1015 番目のファイルに到達すると、OSError: [Errno 24] Too many open
files
が発生します。
私は同じ問題を抱えています:
def readfits(filename):
ft = fits.open(filename) as ft:
data = ft[0].data
ft.close()
return data
astropy.io.fits
ファイルを適切に閉じていないと思われます。ファイルを強制的に閉じる方法はありますか?