2015-04-17 2 views
2

У меня проблема при открытии файла FITS в Python. Я получаю следующее сообщение об ошибке-сообщения:Python, PyFITS, не может открыть файл

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, и я буду благодарен за любую помощь.

UPDATE:
я пропустил некоторые детали, и я извиняюсь за это.
Прежде всего: я использую PyFITS 3.3 в дистрибутиве Anaconda для Windows (32-разрядная версия Windows XP).
код всего виджета вы можете найти по этой ссылке:
FileView
В короткий - я сделать простой проводник для файловой системы, только чтобы позволить пользователю перемещаться в папку с файлами FITS и читать его из папки. Весь проект находится под PyQT4.

+0

Просьба [минимальный, полный и проверяемый пример] (http://stackoverflow.com/help/mcve). показать нам свой код, а не строку из него, рассказать нам о версии PyFITS (версия Anaconda?) – Alik

+0

Е., спасибо, я действительно забыл, как правильно задать вопрос :) –

ответ

2

Очевидно, что ваш path не является подклассом basestring (предположим, вы используете Python 2.7), как и ожидалось PyFITS. Фактически path является экземпляром QString, и вам нужно сначала преобразовать его в unicode.

Так заменить строку

hdulist = pft.open(path) 

с

hdulist = pft.open(unicode(path.toUtf8(), encoding="UTF-8")) 
+0

Спасибо большое! У меня всегда есть проблемы с этим кодированием. –

Смежные вопросы