首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python模块psycopg2找不到引用

Python模块psycopg2找不到引用
EN

Stack Overflow用户
提问于 2019-12-12 15:24:49
回答 2查看 255关注 0票数 0

我安装psycopg2模块是因为我想将blob文件发送到数据库。但我搞错了。

代码语言:javascript
复制
AttributeError: 'psycopg2.extensions.connection' object has no attribute 'execute'

这是我的代码,有什么问题吗?

代码语言:javascript
复制
conn = psycopg2.connect(database='SECRET', user='SECRET',
                            password='SECRET', host='SECRET',
                            port=5432)
cursor = conn.cursor()
cursor.execute("SELECT gen_random_uuid();")
id = cursor.fetchone()[0]

drawing = open("cat.jpg", 'rb').read() 
conn.execute("INSERT INTO files(uuid, filename, data) VALUES(%s,%s,%s)", (id, "cat.jpg", 
psycopg2.Binary(drawing)))
conn.commit()
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-12-12 15:30:16

第二个执行使用连接而不是游标。替换这一行:

代码语言:javascript
复制
conn.execute("INSERT INTO files(uuid, filename, data) VALUES(%s,%s,%s)", (id, "cat.jpg", psycopg2.Binary(drawing)))

通过以下方式:

代码语言:javascript
复制
cursor.execute("INSERT INTO files(uuid, filename, data) VALUES(%s,%s,%s)", (id, "cat.jpg", psycopg2.Binary(drawing)))

应该能解决问题。

票数 1
EN

Stack Overflow用户

发布于 2019-12-12 15:32:59

您应该在安装pip install psycopg2-binary之后安装包页面,我引用

您还可以获得独立的包,而不需要编译器或外部库。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59307875

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档