求助:AttributeError: 'str' object has no attribute 'Image_Data'

haojian855 2018-12-21 10:22:05
1、我的环境是python27的
2、代码如下:
# pylint: disable=no-member
import ibm_db
import base64
import io
import os
import sys
import string
from PIL import Image
conn = ibm_db.connect("DATABASE=XXXXdb;HOSTNAME=127.0.0.1;PORT=50000;PROTOCOL=TCPIP;UID=db2admin;PWD=db2admin;", "", "")
if conn:
sql = "SELECT Image_Data,bilno FROM DB2ADMIN.NOTE_MSG where date(sign_date)='2018-10-10' "
stmt = ibm_db.exec_immediate(conn, sql)
result = ibm_db.fetch_both(stmt)
print(result)

for row in result:
print(row)
data = row.Image_Data
bilno = row.bilno
print("saving " + bilno + " ...")
image = Image.open(io.BytesIO(data))
path = "photo\\" + bilno + ".png"
image.save(path)

3、执行代码如下报错:

Traceback (most recent call last):
File "db2connet.py", line 18, in <module>
data = row.Image_Data
AttributeError: 'str' object has no attribute 'Image_Data'

不清楚代码哪点出了问题!!望大神解救一下了!
...全文
1293 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
陈年椰子 2018-12-24
  • 打赏
  • 举报
回复
按你的代码,
image = Image.open(io.BytesIO(data))
里的data 应该是二进制的, 你从数据库里取出的时候, 用 type(data) 看看 , 我怀疑data被转换了, 不是二进制。
haojian855 2018-12-22
  • 打赏
  • 举报
回复
按照你说的,现在已经不报错了!不过又有新问题了!!!
请大神看看呢:
Traceback (most recent call last):
File "db2connet.py", line 25, in <module>
image = Image.open(io.BytesIO(data))
File "C:\Python27\lib\site-packages\PIL\Image.py", line 2657, in open
% (filename if filename else fp))
IOError: cannot identify image file <_io.BytesIO object at 0x02030960>
陈年椰子 2018-12-21
  • 打赏
  • 举报
回复
print(row) 显示的是什么?
按理说 row 应该是个列表
用 data = row[0] 可以得到第一个字段的值。

37,718

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧