psycopg2将memoryview转换回psycopg2.二进制对象的数组



正如标题所说,我在postgresqldb中插入了一堆图像,这些图像添加到一个数组中,并使用游标发送到数据库。数据库中的列是byta[],所以它对我有效。

我使用这个代码片段将图像字节流转换为二进制,将其放入数组中并发送到db

somearray.append(psycopg2.Binary(image.content))

但是,当运行select语句从数据库中获取该数组时,我得到的是一个memoryview,目前我不确定如何将其转换回数组。

在研究之后,我真的迷失了这一点,因为大多数帖子告诉我使用toByte((将memoryview转换为一些字节字符串,但我的目标是将memoryview转换为数组或二进制项,将二进制转换回图像。

对于未来读者的参考,这个问题是指将多个图像插入每个字节数组中,其中数组中的每个元素表示一个图像。您可以使用以下代码以字节形式获取图像。

cursor.execute("select byte_array from test")
image_sets = [row[0] for row in cursor.fetchall()]
images_as_bytes = [bytes(image) for image_array in image_sets for image in image_array]

最新更新