我在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的情况下,我无法找到任何对此错误的引用,我将非常感谢您的帮助。
更新
我错过了一些细节,我很抱歉
首先:我在Anaconda for Windows(Windows XP 32位)下使用PyFITS 3.3
您可以在此链接找到整个小部件的代码:
FileView
简而言之 - 我正在为文件系统制作简单的资源管理器,只是让用户使用FITS文件导航到文件夹并从文件夹中读取它。所有项目都在PyQT4下。
答案 0 :(得分:2)
显然,你的path
不是basestring
的子类(我想你使用的是Python 2.7),正如PyFITS所期望的那样。实际上path
是QString
个实例,您必须先转换为unicode
。
所以替换你的行
hdulist = pft.open(path)
与
hdulist = pft.open(unicode(path.toUtf8(), encoding="UTF-8"))