2

我在 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)(我确实 import pyfitsas pft)。

我检查了两次路径 - 它是正确的。
在使用 PyFITS 的上下文中,我无法找到对此错误的任何引用,我将不胜感激。

更新:
我错过了一些细节,对此我深表歉意。
首先:我在适用于 Windows(Windows XP 32 位)的 Anaconda 发行版下使用 PyFITS 3.3。
您可以在此链接中找到整个小部件的代码:
FileView
简而言之 - 我正在为文件系统制作简单的资源管理器,只是为了让用户导航到带有 FITS 文件的文件夹并从文件夹中读取它。所有项目都在 PyQT4 下。

4

1 回答 1

2

显然,您path不是basestringPyFITS 所期望的(我想您使用 Python 2.7)的子类。实际上path是一个QString实例,您必须先转换为unicode

所以更换你的线路

hdulist = pft.open(path)

hdulist = pft.open(unicode(path.toUtf8(), encoding="UTF-8"))
于 2015-04-17T17:55:32.473 回答