首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >我如何从一个不稳定的URL中打开一个FITS文件?

我如何从一个不稳定的URL中打开一个FITS文件?
EN

Stack Overflow用户
提问于 2015-09-18 03:10:03
回答 1查看 1.9K关注 0票数 3

我在URL上有一个.fits文件,我想把它读到Python中,就好像就在我的机器上一样。我试过的是:

代码语言:javascript
运行
复制
import urllib2 as url, astropy.io.fits as fits
target_url = 'https://s3.amazonaws.com/bdnyc/spex_prism_U50171_0835%2B19_chiu06.fits'
obj = url.urlopen(target_url)
dat = fits.open(obj)

但我只得到了IOError: File-like object does not have a 'write' method, required for mode 'ostream'.

即使我在mode='readonly'中设置了fits.open(),它也表示它不能写入类似文件的对象。

有办法从.fits打开文件吗?还是将urlopen()返回的urlopen()文件字节转换回HDUList?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-09-18 03:37:22

基于astropy.io.fits.open,它可以选择从URL读取.fits文件的内容:

缓存: bool,可选 如果文件名是URL,则使用download_file打开文件。这指定是否在Astropy的下载缓存中本地保存文件(默认值: True)。

这意味着你不必使用urllib2。您可以立即将target_url提供给fits.open,因为在打开它之前它会在URL上调用astropy.utils.data.download_file。请看下面的代码。

代码语言:javascript
运行
复制
In [1]: import astropy.io.fits as fits

In [2]: target_url = 'https://s3.amazonaws.com/bdnyc/spex_prism_U50171_0835%2B19_chiu06.fits'

In [3]: dat = fits.open(target_url)

In [4]: dat
Out[4]: [<astropy.io.fits.hdu.image.PrimaryHDU at 0x219a9e8>]
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32643206

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档