0

我正在尝试使用 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 不是非常熟悉,非常感谢任何指针或想法!非常感谢!

4

1 回答 1

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])
于 2013-05-01T20:12:08.860 回答