【问题标题】:tornado mysql: how to get size of cursortornado mysql:如何获取光标的大小
【发布时间】:2017-05-03 20:53:37
【问题描述】:

tornado 如何与 MySQL 协同工作:

from __future__ import print_function
from tornado import ioloop, gen
import tornado_mysql


@gen.coroutine
def f():
    conn = yield tornado_mysql.connect(host='127.0.0.1', port=3306, user='user', passwd='passwd', db='mydb')
    cur = conn.cursor()
    yield cur.execute(query)   
    cur.close()
    conn.close()
    return cur

query = "select id from tablename"
for row in ioloop.IOLoop.current().run_sync(f):
    print(row)

如果print(row)执行零次,则表示select id from tablename一无所获。

我只想知道如何立即获取ioloop.IOLoop.current().run_sync(f) 的大小(类似于ioloop.IOLoop.current().run_sync(f).size == 0),以便我可以确定某些sql 查询是否得到了某些东西。

【问题讨论】:

    标签: python mysql cursor tornado


    【解决方案1】:

    并不总是可以多次迭代 python 序列,或者不迭代就知道序列中有多少东西。所以为了安全起见,你必须将结果复制到一个列表中:

    lst = list(IOLoop.current().run_sync(f))
    if lst:
        for row in lst:
            print(row)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-18
      • 2010-12-16
      • 1970-01-01
      • 2012-11-21
      • 1970-01-01
      相关资源
      最近更新 更多