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)(私はインポートpyfitsしましたpft)。

パスを 2 回確認しましたが、正しいです。
PyFITS を使用するコンテキストでこのエラーへの参照を見つけることができません。助けていただければ幸いです。

更新:
一部の詳細を見逃しており、申し訳ありません。
まず第一に、Windows (Windows XP 32 ビット) 用の Anaconda ディストリビューションで PyFITS 3.3 を使用しています。
このリンクで見つけることができるウィジェット全体のコード:
FileView
要するに、ユーザーが FITS ファイルを含むフォルダーに移動してフォルダーから読み取れるようにするためだけに、ファイルシステムの単純なエクスプローラーを作成しています。すべてのプロジェクトは PyQT4 の下にあります。

4

1 に答える 1

2

明らかに、PyFITS が期待するように (Python 2.7 を使用していると思われます)pathのサブクラスではありません。basestring実際pathにはインスタンスであり、最初QStringに変換する必要があります。unicode

だからあなたのラインを交換してください

hdulist = pft.open(path)

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