我在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"))

10-05 23:47