python - psycopg2 将 memoryview 转换回 psycopg2.binary 对象数组
问题描述
正如标题所说,我在我的 postgresql 数据库中插入了一堆图像,这些图像添加到一个数组中并使用光标发送到数据库。数据库中的列是 bytea [],所以它对我有用。
我使用此代码片段将图像字节流转换为二进制,将其放入数组并发送到 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]
推荐阅读
- javascript - 双引号的Javascript json数据读取问题
- javascript - 在状态 [React JS] 中对对象进行排序或排序
- java - 在 flatMap 上使用 reduce 时,Reactor Flux 订阅者流停止
- python - 带有 keycloak 的 Flask-OIDC - oidc_callback 默认回调不起作用
- r - 由于代理,无法安装 Bioconductor 软件包
- apache - htaccess 没有重定向到 https
- prestashop-1.6 - 我的 Prestashop 网站显示:“错误:“安装”目录丢失”
- python - 将多线程输出保存到txt文件
- asp.net-core - microsoft edge 在所有其他浏览器中工作时,所需的防伪 cookie 不存在
- c# - 如何在 C# 对象中检索 Poweshell 脚本的结果?