2

I have problem in opening FITS file in Python. I get following error-message:

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'

at hdulist = pft.open(path) line (I did import pyfits as pft).

I checked the path twice - it's correct.
I'm not able to find any reference to this error in context of using PyFITS and I will be gratefull for any help.

UPDATE:
I missed some details and I'm sorry for it.
First of all: I'm using PyFITS 3.3 under Anaconda distribution for Windows (Windows XP 32-bit).
Code of whole widget you can find at this link:
FileView
In a short - I'm making simple explorer for filesystem, just to let user navigate to folder with FITS files and read it from folder. All project is under PyQT4.

Ilja Kosynkin
  • 107
  • 1
  • 14
  • Please provide [a minimal, complete, and verifiable example](http://stackoverflow.com/help/mcve). i.e. show us your code, not a line from it, tell us about PyFITS version (Anaconda version?) – Konstantin Apr 17 '15 at 16:03
  • Ye, thanks, I did really forget how to ask a question properly:) – Ilja Kosynkin Apr 17 '15 at 16:19

1 Answers1

2

Obviously your path is not a subclass of basestring (I suppose you use Python 2.7) as it is expected by PyFITS. In fact path is a QString instance and you have to convert to unicode first.

So replace your line

hdulist = pft.open(path)

with

hdulist = pft.open(unicode(path.toUtf8(), encoding="UTF-8"))
Konstantin
  • 24,271
  • 5
  • 48
  • 65