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文件相关推荐

  1. python只读打开文件,python如何使用只读、不显示窗口的方式打开ppt文件

    下面的python代码通过win32com打开ppt文件,默认情况下powerpoint的窗口会打开显示ppt文件内容,如果不希望powerpint显示,可以在Presentations.Open的方 ...

  2. java中打开文件显示_从java程序中打开任何文件

    在 java中打开文件似乎有点棘手 – 对于.txt文件,必须将File对象与Scanner或BufferedReader对象结合使用 – 对于图像IO,必须使用 ImageIcon类 – 如果要打开 ...

  3. 解决IE提示“是要保存此文件,还是联机查找程序来打开此文件”

    在登录论坛,或者点击插件总是出现"是要保存此文件,还是联机查找程序来打开此文件" 然后照网络上的"这是动态链接库文件受损,重新注册即可,方法如下:在Windows&quo ...

  4. python循环写文件时、io需不需要关闭_Python文件IO(普通文件读写)

    ## 打开一个文件 - fileobj = open(filename, mode) 其中: fileobj是open()返回的文件对象 filename是该文件的字符串名 mode是指明文件类型和操 ...

  5. python输入文件名读取文件_[Python] python3 文件操作:从键盘输入、打开关闭文件、读取写入文件、重命名与删除文件等...

    1.从键盘输入 Python 2有两个内置的函数用于从标准输入读取数据,默认情况下来自键盘.这两个函数分别是:input()和raw_input(). Python 3中,不建议使用raw_input ...

  6. python中open函数打开文件_Python open函数详解:打开指定文件

    掌握了各种操作目录字符串或目录的函数之后,接下来可以准备读写文件了.在进行文件读写之前,首先要打开文件. Python 提供了一个内置的 open() 函数,该函数用于打开指定文件. open() 函 ...

  7. python文件函数_Python closed()函数:关闭打开的文件

    在文件使用完毕后,需要关闭文件以释放资源.关闭文件的方法是: 文件对象.close() 可以对一个已经关闭的文件再次执行 close() 操作,不必担心会产生异常. 在文件关闭后便不能对其进行读写操作 ...

  8. 服务器怎么打开本地电脑文件夹,如何在云服务器上打开本地文件夹

    如何在云服务器上打开本地文件夹 内容精选 换一换 Tomcat是一个被广泛使用的Java Web应用服务器.本文介绍了在华为云弹性云服务器上部署Java Web环境的操作步骤.首先需要下载部署Java ...

  9. html中svg是什么文件,svg是什么文件格式?如何打开svg文件?

    svg是一种开放标准的矢量图形语言,是可缩放的矢量图形格式.svg格式的图像可任意放大图形显示,而且边缘异常清晰,生成的文件很小,方便传输,文字在svg图像中保留可编辑和可搜寻的状态,没有字体的限制, ...

  10. linux vi打不开文件,在Linux中使用vi/vim打开一个文件时出现的的问题

    1.想想如何vim/etc/profile会出现这种情况,并解决掉这些问题 图一: 图二: 原因: 第一张:由于vi /etc/profile还没有编辑完成,保存退出,突然断电或其他原因导致编辑窗口关 ...

最新文章

  1. vijos - P1279Leave-绿光(数学归纳法 + python)
  2. FPGA中状态机的稳定性
  3. Ubuntu下对双显卡的支持问题
  4. 贷款审批到底会考核哪些内容?
  5. Kinect开发笔记之一Kinect详细介绍
  6. 动手学PaddlePaddle(4):MNIST(手写数字识别)
  7. MySQL 修改字段
  8. kext updater使用方法_语言清晰度测量方法的前世今生
  9. YCOJ过河卒C++
  10. 黑暗森林:知识图谱的前世今生
  11. paip.python错误解决8
  12. 小车故障灯亮显示大全_原创案例丨17款迈锐宝XL缺缸故障
  13. ubuntu安装后要做什么
  14. xmind 拖拽_GitHub - xdsnet/jsxMind: 基于jsmind 改写的jsxmind插件
  15. Redis 多线程网络模型全面揭秘
  16. 高德尝试用“成本价”推动共享,但高精地图行业不只有价格
  17. 10000php换人民币,转 数字转大写人民币
  18. R语言数据分析笔记——t检验(含正态性检验和方差齐性检验在SPSS和R语言中的操作t检验(单样本、双独立样本、配对样本)在Excel、SPSS、R语言中的操作)
  19. 网站实现发送帖子的功能
  20. 软件开发项目 质量管理的6大关键事项

热门文章

  1. C++-OpenCV(1)-连通区域
  2. 刚开始使用push遇到的小问题
  3. java 中奖_java的if判断是否中奖了(21)
  4. 〖Python零基础入门篇㊿〗- Python中的 sys 模块
  5. [AHK]新浪实时股票数据接口
  6. AR技术和VR技术的区别是什么?
  7. 计算机应用基础演示文稿内容,计算机应用基础(PowerPoint 2003电子演示文稿系统)...
  8. 【spring事务管理】
  9. 数据、变量、内存三者之间的关系
  10. winedit自动换行