1

新しい名前を正しく割り当ててディスクに書き込むことができるように、ファイルの形式を読み取ろうとしていますが、 Image.open() がイメージ上にある場合、イメージをディスクに書き込めません。たとえば、次のようになります。

これは機能します:

>>>file = open('708864.jpg')
>>> open('lala.jpeg', 'w').write(file.read())

しかし、これはそうではありません

>>>import Image
>>>im = Image.open('708864.jpg')
>>> im.format
>>> open('lala.jpeg', 'w').write(file.read())

どのソフトウェアでも開くことができない破損したファイル (lala.jpeg) を作成します。犯人は Image.open() だと思います。Image.close() ステートメントを見つけようとした後、見つけられませんでした。ディスクに書き込めるように、このイメージをどのように「閉じる」ことができますか?

4

3 に答える 3

1

私のコメントで示唆されているim.save('lala.jpg')ように、行く方法です。

Imageオブジェクトの他のすべての楽しいメソッドについては、ドキュメントを参照してください。

于 2012-07-31T23:47:26.307 に答える
0

コメントで述べたように、私はこれまで知らなかった機能を使用することになりました。これによりImage.save()、問題がすぐに解決されます。

于 2012-07-31T23:45:26.513 に答える
0

いくつかの回避策、それは単なるアイデアです:

import Image
import StringIO

file = open('/home/mrok/1.jpg')
output = StringIO.StringIO(file.read())

im = Image.open('/home/mrok/1.jpg')
im.format

open('/home/mrok/2.jpg', 'w').write(output.getvalue())
output.close()
于 2012-07-31T23:04:06.010 に答える