我正在使用下面的脚本。如果我更改脚本以避免使用 bytea 数据类型,我可以轻松地将数据从我的 postgres 表复制到 python 变量中。
但是,如果数据在 bytea postgres 列中,我会遇到一个名为 memory 的奇怪对象,这让我感到困惑。
这是我针对 anaconda python 3.5.2 运行的脚本:
# bytea.py
import sqlalchemy
# I should create a conn
db_s = 'postgres://dan:dan@127.0.0.1/dan'
conn = sqlalchemy.create_engine(db_s).connect()
sql_s = "drop table if exists dropme"
conn.execute(sql_s)
sql_s = "create table dropme(c1 bytea)"
conn.execute(sql_s)
sql_s = "insert into dropme(c1)values( cast('hello' AS bytea) );"
conn.execute(sql_s)
sql_s = "select c1 from dropme limit 1"
result = conn.execute(sql_s)
print(result)
# <sqlalchemy.engine.result.ResultProxy object at 0x7fcbccdade80>
for row in result:
print(row['c1'])
# <memory at 0x7f4c125a6c48>
如何获取内存中 0x7f4c125a6c48 的数据?