gpt4 book ai didi

python - 使用python psycopg2保存二进制数据时如何修复 "can' t adapt error

转载 作者:太空狗 更新时间:2023-10-30 02:50:33 30 4
gpt4 key购买 nike

我今天在我们的一个项目中三次遇到这个错误。将问题和解决方案放在网上以供将来引用。

impost psycopg2

con = connect(...)

def save(long_blob):
cur = con.cursor()
long_data = struct.unpack('<L', long_blob)
cur.execute('insert into blob_records( blob_data ) values (%s)', [long_data])

这将失败并出现来自 psycopg2 的错误“无法适应”。

最佳答案

问题是 struct.unpack 返回一个元组结果,即使只有一个值要解包。您需要确保从元组中获取第一项,即使只有一项。否则 psycopg2 sql 参数解析将无法尝试将元组转换为给出“无法适应”错误消息的字符串。

impost psycopg2

con = connect(...)

def save(long_blob):
cur = con.cursor()
long_data = struct.unpack('<L', long_blob)

# grab the first result of the tuple
long_data = long_data[0]

cur.execute('insert into blob_records( blob_data ) values (%s)', [long_data])

关于python - 使用python psycopg2保存二进制数据时如何修复 "can' t adapt error,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2149515/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com