python sqlit3从数据库插入和检索图像

时间:2018-10-08 14:06:20

标签: python image sqlite blob

我正在尝试将.png图像存储到sqlite3数据库中。我可以运行插入它们的代码,而不会出现任何问题,但是当我将它们拔出时,以任何有意义的方式使用它们都会遇到困难。

这是我要插入图像的操作。

conn = sqlite3.connect('bkg_gps1_ba-133_walk4.db')
cursor = conn.cursor()
cursor.execute("""CREATE TABLE images(frame integer, img blob)""" )

img = open(image/path, 'rb')
record = (frame, sqlite3.Binary(img.read()))
cursor.execute("INSERT INTO images VALUES (?, ?)", record)

目前,我尝试使用以下内容检索单个图像

self.c.execute('SELECT img FROM images WHERE frame = {}'.format(index))
img = self.c.fetchone()
with open('test.png', 'wb') as x:
     x.write(img)

我收到类型错误

TypeError: argument 1 must be string or buffer, not None.

我检查了img的数据类型,它是None。我知道当我运行execute命令时,我会得到一个游标类型,这要求我使用fetchone。所以我的检索不正确,或者我没有正确插入图像。有见识吗?

0 个答案:

没有答案