gpt4 book ai didi

Python 3.5.1 和 fdb 1.5.1 - fdb.fbcore.Cursor 对象位于 0x00175BB0

转载 作者:太空宇宙 更新时间:2023-11-03 16:46:39 25 4
gpt4 key购买 nike

我尝试用Python编写脚本,谁:

  • 连接到 Firebird 数据库

  • 在连接的数据库中执行选择

  • 通过 SELECT 为数据库重新生成的每一条结果记录发送电子邮件。

我使用:Windows Vista x64 SP2、Python 版本 3.5.1、firebird 驱动程序 fdb 1.5.1。

使用以下脚本后,我收到电子邮件:fdb.fbcore.Cursor object at 0x00175BB0

请提出建议。

# -*- coding:utf-8 -*-

import smtplib
from email.mime.text import MIMEText

import fdb
con = fdb.connect(host='127.0.0.1', database='test', user='SYSDBA', password='masterkey', charset='WIN1250')

to = ['xxxxxx@xxxxxx']
cc = ['xxxxxx@xxxxxx']
bcc = ['xxxxxx@xxxxxx']
from_addr = 'xxxxxx@xxxxxx'
message_subject = "Say Hello"

cur = con.cursor()
select = cur.execute("select telephone from person")
#message_text = "%a" % (select)
message_text = (select)

message = "From: %s\r\n" % from_addr \
+ "To: %s\r\n" % ",".join(to) \
+ "CC: %s\r\n" % ",".join(cc) \
+ "BCC: %s\r\n" % ",".join(bcc) \
+ "Subject: %s\r\n" % message_subject \
+ str(message_text)
to_addrs = to + cc + bcc
server = smtplib.SMTP('smtp.gmail.com', 587)
server.starttls()
server.login('xxxxxx','xxxxxx')
#server.set_debuglevel(1)

#for message_text in cur.fetchall():
# print(message_text)

for message_text in cur.fetchall():
server.sendmail(from_addr, to_addrs, message)

server.quit()
con.close()

最佳答案

您正在打印光标对象,而不是从光标检索值。 execute 方法返回光标本身(因此 selectcur 是同一个对象)。

相反,您需要使用:

cur = con.cursor()
cur.execute("select telephone from person")
message_text = cur.fetchone()

关于Python 3.5.1 和 fdb 1.5.1 - fdb.fbcore.Cursor 对象位于 0x00175BB0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36240141/

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