我试图读取文件的格式,以便我可以正确地为它分配一个新名称并将其写入磁盘,但是当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()语句后,我无法找到它。你会如何“关闭”这个图像,所以我仍然可以将它写入磁盘?
答案 0 :(得分:1)
根据我的评论中的建议,im.save('lala.jpg')
是可行的方法。
对于Image
对象上的所有其他有趣方法,您可以查看documentation。
答案 1 :(得分: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()
答案 2 :(得分:0)
正如在评论中所说,我最终使用了一个我以前从未知道的函数Image.save()
,它很快解决了我的问题。