Printing the Header of a FITS file with astropy: NameError: name 'header' is not defined
Printing the Header of a FITS file with astropy: NameError: name 'header' is not defined
我正在尝试通过 http://docs.astropy.org/en/stable/io/fits/
通过 astropy 学习使用 FITS 操作
我正在按照本网站上的说明进行操作。
他们是:
"To see the entire header as it appears in the FITS file (with the END card and padding stripped), simply enter the header object by itself, or print(repr(header))
"
但是当我键入 header
时,出现以下错误:
NameError: name 'header' is not defined
我在输入 print(header)
或 print(repr(header))
命令时遇到同样的错误。
我的问题是为什么 "header" 命令不起作用?
我应该以某种方式定义它吗?
我的代码:
from astropy.io import fits
hdulist = fits.open('test1.fits')
hdulist.info()
header
我正在通过 Canopy 使用 jupyter notebook。
My question is why is it that the "header" command did not work?
Am I supposed to define it somehow?
简而言之:它不是命令,您不需要定义它。它实际上是一个属性,因此您必须在 hdulist
.
上查找它
hdulist
包含hdu
,每个hdu
包含一个data
和一个header
,所以要访问header您使用的第一个 hdu:
print(repr(hdulist[0].header))
[0]
是因为我想要第一个HDU(python使用zero-based索引)而.header
访问这个HDU的header属性.
尽管我说你不需要定义它,但是你可以定义一个名为header的变量:
header = hdulist[0].header # define a variable named "header" storing the header of the first HDU
print(repr(header)) # now it's defined and you can print it.
hdulist.info()
应显示存在多少个 HDU,因此您可以决定要打印或存储哪一个。
请注意,您应该始终使用 open
作为上下文管理器,以便它自动关闭文件(即使出现错误):
from astropy.io import fits
with fits.open('test1.fits') as hdulist: # this is like the "hdulist = fits.open('test1.fits')"
hdulist.info()
for hdu in hdulist:
print(repr(hdu.header))
# After leaving the "with" the file closes.
此示例还展示了如何使用 for
循环遍历 HDUList
中的所有 HDU。
我正在尝试通过 http://docs.astropy.org/en/stable/io/fits/
通过 astropy 学习使用 FITS 操作我正在按照本网站上的说明进行操作。 他们是:
"To see the entire header as it appears in the FITS file (with the END card and padding stripped), simply enter the header object by itself, or
print(repr(header))
"
但是当我键入 header
时,出现以下错误:
NameError: name 'header' is not defined
我在输入 print(header)
或 print(repr(header))
命令时遇到同样的错误。
我的问题是为什么 "header" 命令不起作用?
我应该以某种方式定义它吗?
我的代码:
from astropy.io import fits
hdulist = fits.open('test1.fits')
hdulist.info()
header
我正在通过 Canopy 使用 jupyter notebook。
My question is why is it that the "header" command did not work?
Am I supposed to define it somehow?
简而言之:它不是命令,您不需要定义它。它实际上是一个属性,因此您必须在 hdulist
.
hdulist
包含hdu
,每个hdu
包含一个data
和一个header
,所以要访问header您使用的第一个 hdu:
print(repr(hdulist[0].header))
[0]
是因为我想要第一个HDU(python使用zero-based索引)而.header
访问这个HDU的header属性.
尽管我说你不需要定义它,但是你可以定义一个名为header的变量:
header = hdulist[0].header # define a variable named "header" storing the header of the first HDU
print(repr(header)) # now it's defined and you can print it.
hdulist.info()
应显示存在多少个 HDU,因此您可以决定要打印或存储哪一个。
请注意,您应该始终使用 open
作为上下文管理器,以便它自动关闭文件(即使出现错误):
from astropy.io import fits
with fits.open('test1.fits') as hdulist: # this is like the "hdulist = fits.open('test1.fits')"
hdulist.info()
for hdu in hdulist:
print(repr(hdu.header))
# After leaving the "with" the file closes.
此示例还展示了如何使用 for
循环遍历 HDUList
中的所有 HDU。