psycopg2将memoryview转换回psycopg2.binary对象数组

2024-09-21 11:33:48 发布

您现在位置:Python中文网/ 问答频道 /正文

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

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

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

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

在研究之后,我真的迷路了,因为大多数帖子都告诉我使用toByte()将memoryview转换为某些字节字符串,但我的目标是将memoryview转换为数组或二进制项,以便将二进制文件转换回图像


Tags: 代码图像数据库标题dbpostgresql二进制数组
1条回答
网友
1楼 · 发布于 2024-09-21 11:33:48

为了将来读者的参考,这个问题涉及到在每个字节数组中插入多个图像,其中数组中的每个元素表示一个图像。您可以使用以下代码以字节形式获取图像

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]

相关问题 更多 >

    热门问题