Python数据库查询的实时输出

时间:2013-03-19 10:10:05

标签: python database sybase output sybase-ase

我有一段看起来像这样的代码:

 conn=sybpydb.connect(user=args.u, password=args.p,servername=args.s)
 cur = conn.cursor()
 cur.execute(sql)
 print(cur.connections.messages)

执行大约需要5分钟才能运行,然后打印输出。 我想知道在执行运行时是否有任何方法可以打印输出行,而不是等到它完成并将其全部作为一个大批量生成?

1 个答案:

答案 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()