如何在python3.4中将PIL图像文件转换为字符串?

时间:2015-04-17 10:56:00

标签: image python-imaging-library python-3.4

我一直在尝试使用python 3.4中的PIL读取jpeg文件。我需要将此文件保存为字符串格式。虽然在这个网站上提供了一些选项,但我尝试了一些,但它没有用。以下是我在此网站上找到的代码片段: -

from io import StringIO

fp = Image.open("images/login.jpg")
output = StringIO()
fp.save(output, format="JPEG")
contents = output.getvalue()
output.close()

但我面临以下错误: -

TypeError:期望的字符串参数,得到'bytes'

你能否告诉我我做错了什么以及如何使其发挥作用?

2 个答案:

答案 0 :(得分:1)

在python 3中,你应该使用BytesIO
而在python docs中读取:

  

StringIO是本机内存 unicode 容器

答案 1 :(得分:0)

非常感谢提示。我实际上找到了一种不同的方式来读取图像文件并存储在python2.x中的字符串对象中。这是代码。如果使用它有任何不利之处,请告诉我。

imgText = open("images/login.jpg", 'rb') 
imgTextStr = imgText.read() 
imgText.close()