我有一段看起来像这样的代码:
conn=sybpydb.connect(user=args.u, password=args.p,servername=args.s)
cur = conn.cursor()
cur.execute(sql)
print(cur.connections.messages)
执行大约需要5分钟才能运行,然后打印输出。 我想知道在执行运行时是否有任何方法可以打印输出行,而不是等到它完成并将其全部作为一个大批量生成?
答案 0 :(得分:0)
filmor是对的:检索光标上运行的结果。
sybpydb包是Sybase提供的PEP 249实现。因此,您检索的Cursor对象有一些方法,例如fetchone和fetchall。
您的代码,逐行检索结果并对其执行某些操作,将是:
# Preparation your connection and cursor for fetching results
conn = sybpydb.connect(user=args.u, password=args.p, servername=args.s)
cur = conn.cursor()
cur.execute(sql)
# Reading result one by one
for row in cur.fetchone():
# Do something with your current results
print(row)
# Closing cursor and connection
cur.close()
conn.close()