我在Python中打开FITS文件时遇到问题。我收到以下错误消息:
File "G:\Anaconda\lib\site-packages\pyfits\file.py", line 416, in _open_filelike % self.mode)
IOError: File-like object does not have a 'write' method, required for mode 'ostream'
在
hdulist = pft.open(path)
行(我确实将pyfits
导入为pft
)。我检查了两次路径-是正确的。
在使用PyFITS的情况下,我找不到与该错误有关的任何参考,对于任何帮助,我将不胜感激。
更新:
我错过了一些细节,对此我感到抱歉。
首先:我在Windows的Anaconda发行版(Windows XP 32位)下使用PyFITS 3.3。
您可以在以下链接找到整个窗口小部件的代码:
FileView
简而言之-我正在为文件系统做一个简单的资源管理器,只是为了让用户导航到包含FITS文件的文件夹并从文件夹中读取它。所有项目都在PyQT4下。
最佳答案
显然,您的path
不是basestring
的子类(我想您使用的是Python 2.7),正如PyFITS期望的那样。实际上,path
是一个QString
实例,您必须先转换为unicode
。
所以更换你的线
hdulist = pft.open(path)
与
hdulist = pft.open(unicode(path.toUtf8(), encoding="UTF-8"))