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

一些解决方法,这只是想法:

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 回答
0

正如评论中所说,我最终使用了一个我以前不知道的功能Image.save(),它很快解决了我的问题。

于 2012-07-31T23:45:26.513 回答