我正在尝试使用Python 2.7从SQLite3.db文件中读取表格中的行的BLOB类型(包含PNG图像),然后将该数据写入新的图像文件。我很难理解如何实现这一目标。这是我想要完成的真正的划痕代码......
c = conn.cursor()
data = c.execute("SELECT image_data FROM favicon_bitmaps WHERE index='26'")
x = open('C:\file.png', 'w')
x.write(data)
x.close
c.execute只返回某种游标对象,我不知道如何获取我的数据。我在其中一个文档页面上看了一下光标对象的方法,我的眼睛只是一点点......我不太熟悉在Python中使用SQLite3 DB,任何指针或想法都非常感谢!非常感谢!
答案 0 :(得分:1)
不要使用cursor.execute()
的返回值;通常你会完全忽略它(实际上,只要返回None就会更加Pythonic。)
相反,在调用.fetchone()
之后调用游标的.execute()
方法,它返回一个Row对象:
c = conn.cursor()
c.execute("SELECT image_data FROM favicon_bitmaps WHERE index='26'")
data = c.fetchone()
with open('C:\file.png', 'wb') as x:
x.write(data[0])