python处理FITS文件 2:astropy.io.fits介绍及打开FITS文件
astropy这个库有很多功能,因为本文主要涉及FITS文件,因此仅仅使用astropy.io.fits
1介绍
astropy.io.fits包提供FITS文件操作的函数接口,使得用户可以忽略FITS文件实现的底层细节,可以像操作正常文件和数组一样处理一个非常复杂的文件。
FITS文件的格式可以参考本博客中的相关文章。
2打开FITS文件
from astropy.io import fits
hdul=fits.open(fits_image_filename)
注意fits_image_filename是一个fits文件的文件名,实际使用时填写对应的路径和文件名,如果没有路径,默认为当前路径下的文件。
open()函数有几个可选参数,之后会提到。默认模式下函数返回一个对象HDUList,就是一个HDU的列表。HDU是FITS文件最高级的FITS结构,由头文件和数据单元组成。
列表是python的基本数据结构之一,有丰富的函数操作,可以像正常列表做索引等基本操作。
因为一个FITS文件可能会由很多个HDU组成,所以需要通过索引选择其中一个,如hdul[0]选择第一个HDU。
通过HDUList.info()可以得到文件的信息
可以看出代码中使用的文件共有五个HDU,第一个没有数据单元,之后四个名为SCI文件。
可以通过之前所提到的索引选择任意一个HDU进行处理
3关闭FITS文件
hdul.close()
及时关闭HDUList对象有助于减少内存消耗,在文件很大很多时需要格外注意。
使用上下文管理器可以很方便解决这个问题
即使出现异常,HDUList同样可以关闭
4.打开较大的文件
使用open()函数的控制参数memmap=True控制数据数组通过mmap内存映射获取,而不是一次性读入内存。
下一篇:处理fits文件
python处理FITS文件 2:astropy.io.fits介绍及打开FITS文件相关推荐
- python只读打开文件,python如何使用只读、不显示窗口的方式打开ppt文件
下面的python代码通过win32com打开ppt文件,默认情况下powerpoint的窗口会打开显示ppt文件内容,如果不希望powerpint显示,可以在Presentations.Open的方 ...
- java中打开文件显示_从java程序中打开任何文件
在 java中打开文件似乎有点棘手 – 对于.txt文件,必须将File对象与Scanner或BufferedReader对象结合使用 – 对于图像IO,必须使用 ImageIcon类 – 如果要打开 ...
- 解决IE提示“是要保存此文件,还是联机查找程序来打开此文件”
在登录论坛,或者点击插件总是出现"是要保存此文件,还是联机查找程序来打开此文件" 然后照网络上的"这是动态链接库文件受损,重新注册即可,方法如下:在Windows&quo ...
- python循环写文件时、io需不需要关闭_Python文件IO(普通文件读写)
## 打开一个文件 - fileobj = open(filename, mode) 其中: fileobj是open()返回的文件对象 filename是该文件的字符串名 mode是指明文件类型和操 ...
- python输入文件名读取文件_[Python] python3 文件操作:从键盘输入、打开关闭文件、读取写入文件、重命名与删除文件等...
1.从键盘输入 Python 2有两个内置的函数用于从标准输入读取数据,默认情况下来自键盘.这两个函数分别是:input()和raw_input(). Python 3中,不建议使用raw_input ...
- python中open函数打开文件_Python open函数详解:打开指定文件
掌握了各种操作目录字符串或目录的函数之后,接下来可以准备读写文件了.在进行文件读写之前,首先要打开文件. Python 提供了一个内置的 open() 函数,该函数用于打开指定文件. open() 函 ...
- python文件函数_Python closed()函数:关闭打开的文件
在文件使用完毕后,需要关闭文件以释放资源.关闭文件的方法是: 文件对象.close() 可以对一个已经关闭的文件再次执行 close() 操作,不必担心会产生异常. 在文件关闭后便不能对其进行读写操作 ...
- 服务器怎么打开本地电脑文件夹,如何在云服务器上打开本地文件夹
如何在云服务器上打开本地文件夹 内容精选 换一换 Tomcat是一个被广泛使用的Java Web应用服务器.本文介绍了在华为云弹性云服务器上部署Java Web环境的操作步骤.首先需要下载部署Java ...
- html中svg是什么文件,svg是什么文件格式?如何打开svg文件?
svg是一种开放标准的矢量图形语言,是可缩放的矢量图形格式.svg格式的图像可任意放大图形显示,而且边缘异常清晰,生成的文件很小,方便传输,文字在svg图像中保留可编辑和可搜寻的状态,没有字体的限制, ...
- linux vi打不开文件,在Linux中使用vi/vim打开一个文件时出现的的问题
1.想想如何vim/etc/profile会出现这种情况,并解决掉这些问题 图一: 图二: 原因: 第一张:由于vi /etc/profile还没有编辑完成,保存退出,突然断电或其他原因导致编辑窗口关 ...
最新文章
- vijos - P1279Leave-绿光(数学归纳法 + python)
- FPGA中状态机的稳定性
- Ubuntu下对双显卡的支持问题
- 贷款审批到底会考核哪些内容?
- Kinect开发笔记之一Kinect详细介绍
- 动手学PaddlePaddle(4):MNIST(手写数字识别)
- MySQL 修改字段
- kext updater使用方法_语言清晰度测量方法的前世今生
- YCOJ过河卒C++
- 黑暗森林:知识图谱的前世今生
- paip.python错误解决8
- 小车故障灯亮显示大全_原创案例丨17款迈锐宝XL缺缸故障
- ubuntu安装后要做什么
- xmind 拖拽_GitHub - xdsnet/jsxMind: 基于jsmind 改写的jsxmind插件
- Redis 多线程网络模型全面揭秘
- 高德尝试用“成本价”推动共享,但高精地图行业不只有价格
- 10000php换人民币,转 数字转大写人民币
- R语言数据分析笔记——t检验(含正态性检验和方差齐性检验在SPSS和R语言中的操作t检验(单样本、双独立样本、配对样本)在Excel、SPSS、R语言中的操作)
- 网站实现发送帖子的功能
- 软件开发项目 质量管理的6大关键事项