Python 如何从twisted.enterprise.adbapi而不是“;“延期”;对象
当我在sql_server上使用twisted.enterprise.adbapi时,我总是得到“Deferred”对象,但我需要列表或tulpe中的可用数据Python 如何从twisted.enterprise.adbapi而不是“;“延期”;对象,python,sql-server,database,twisted,pymssql,Python,Sql Server,Database,Twisted,Pymssql,当我在sql_server上使用twisted.enterprise.adbapi时,我总是得到“Deferred”对象,但我需要列表或tulpe中的可用数据 import pymssql from twisted.internet import reactor from twisted.enterprise import adbapi db_settings = { "host" : "127.0.0.1", "port" : "1433", "user" : "sa", "pa
import pymssql
from twisted.internet import reactor
from twisted.enterprise import adbapi
db_settings = {
"host" : "127.0.0.1",
"port" : "1433",
"user" : "sa",
"password" : "sa",
"database" : "dataDB",
"cp_min" : "3",
"cp_max" : 10,
"cp_noisy" : "True",
"charset" : "utf8"
}
dbpool = adbapi.ConnectionPool("pymssql", **db_settings)
def getData():
return dbpool.runQuery("SELECT * FORM dataDB.Base")
reactor.callLater(4, reactor.stop)
print getData()
reactor.run()
执行上述代码时,只需在命令中获取“推迟到0x4ca2948”。下一步该怎么办?使用以下代码,可以从“延迟”中获取数据
但是,我仍然不知道函数getValue中“L”的含义。“L”可能是getAge()的结果,我不确定。您是否阅读过任何文档?这是关于如何使用Twisted的一个非常基本的问题。我阅读了“”的文档,它只告诉我“def runQuery(self,*args,**kw):”将返回“一个延迟的”,就像“一个DB-API游标的'fetchall'方法”,但没有告诉我如何从延迟中捕获数据,也没有针对ms_sql_服务器或其他数据库的代码示例。因此,我尝试使用谷歌,在这种情况下没有好的结果,如果你能帮助我,请,谢谢。我投票结束这个问题作为离题,因为它表明没有事先阅读相关的项目文档。
def getAge():
return dbpool.runQuery("SELECT * FROM Base")
def getValue(L):
print L[0][0] # type(L[0]) is Tuple
getAge().addCallback(getValue)
reactor.run()