2016-05-07 7 views
0

画像ファイルを受け取った後、画像ファイルを読むことができません。PIL Image.open()を読み取ることができません

with open(fullpath, 'wb+') as f: 
    f.write(filevalue) 
f.close() 

try: 
    im = Image.open(fullpath, 'r') 
    im = im.resize((28, 28)) 
    os.remove(fullpath) 
    im.save(fullpath, 'PNG') 
except: 
    print 'Received non-image file, skipping...' 

まずオープンフルパスと受信filevalue、[閉じるファイルを書き込みます。今、ファイルはディスク上にあります。

その後、私は受信したファイルを開きます。この画像ファイルが破損していないことを確認しました。独立したpythonスクリプトでPIL Imageクラスで開くことができます。しかし、私は右の受信後、開いているファイルのコードを追加した場合、エラーが行く:

File xxxxxx.png could not be opened for reading 

ファイルがディスクに書き込まれているので、なぜ私はそれを開くことができませんか?

+0

@paperfishファイルのアクセス許可を確認しましたか? – mkHun

+0

@mkHunはい、このプログラムにアクセスできます。私は別のコピーを作ってファイルを開いた、それは大丈夫です。一時的な解決策。 –

答えて

0

このファイルの別のコピーを作成し、正常に開きました。これは一時的な解決策ですが、オーバーヘッドはかなりあります。 f.close()を呼び出してもファイルはロックされているようですが、プログラム全体が終了していないようです。

関連する問題