20

PIL を使用して、定期的に NOAA から AREA ファイルを開きます。私が受け取った画像の最後のバッチでは、image.open() コマンドは機能しません。これは私が書いた簡単なコードで、同じ結果が得られます。今日のファイルではなく、1 か月前のファイルを開き、回転し、通常のタスクを実行します。

from PIL import Image
im = Image.open("path/to/file")
im.show()

エラーは次のとおりです。

File "image_goes.py", line 2, in <module>
im = Image.open("path/to/file")
File "/usr/lib/python2.6/dist-packages/PIL/Image.py", line 1980, in open
raise IOError("cannot identify image file")
IOError: cannot identify image file

これが私が試したことです:

  1. 2 台の別々のマシンでイメージを開く。
  2. パーミッションに問題があった場合のファイルのフォルダの変更
  3. 手動で FTP と自動スクリプトを使用して、イメージと他の 2 つのバッチを再ダウンロードします。

私の仮説は、ダウンロード スクリプトに問題があり、ファイルが完全にダウンロードされていないというものでしたが、新しいファイルが正しいサイズであり、FTP クライアントを使用して手動でダウンロードし、同じ結果です。

私の唯一の他の理論は、今日の NOAA ファイルに問題があるか、PIL が処理できなくなるような方法で変更されているということですが、それはありそうもないと思います。

どんな助けでも大歓迎です、ありがとう

4

3 に答える 3

17

コンテンツが実際にディスクに同期されていない可能性があります。試すImage.open(open("path/to/file", 'rb'))

于 2012-08-10T05:21:30.147 に答える
5

為に

im = Image.open("path/to/file")

試す

im = Image.open(r"path/to/file")

つまりr、パス文字列の前に a を置きます。

于 2018-09-29T02:27:58.047 に答える