我已经写了一个拟合文件(有人发给我),我想在标题中添加校验和和数据。我发现使用astropy.io.fits添加校验和的唯一示例涉及在将每个部分添加到HDU时构建新的HDU and verifying it。我可以做什么,但这看起来好像需要更多的开销然后才需要。
有没有办法将校验和和数据添加到现有的HDU?
答案 0 :(得分:4)
ImageHDU
个对象有一个名为add_checksum()
的方法。这应该完全符合你的要求。
因此,您可以在更新模式下打开FITS文件,然后再调用它并再次关闭该文件。
from astropy.io import fits
with fits.open(filename, mode='update') as hdus:
hdus[0].add_checksum() # Fill in the arguments like you need them
with
是首选,因为它会在退出close
上下文时自动with
文件(即使发生异常),但您也可以在没有with
的情况下打开和关闭它{1}}:
from astropy.io import fits
hdul = fits.open(filename, mode='update')
hdul[0].add_checksum()
hdul.close()