概述
[name: 'Bob',phone_number: '9123 4567']
['Bob','9123 4567']
对于简单的Python& @R_502_1681@我们可以使用@R_502_1681@db.cursors.DictCursor.但如何使用扭曲的adbapi
UPD:我解决了,但我认为应该有更好的方法.我的解决方案:只需覆盖adbapi.ConnectionPool类的* _runInteraction *方法.
class MyAdbapiConnectionPool(adbapi.ConnectionPool): def _runInteraction(self,interaction,*args,**kw): conn = self.connectionFactory(self) trans = self.transactionFactory(self,conn) try: result = interaction(trans,**kw) if(result and isinstance(result[0],(list,tuple))): colnames = [c[0] for c in trans._cursor.description] result = [dict(zip(colnames,item)) for item in result] trans.close() conn.commit() return result except: excType,excValue,excTraceback = sys.exc_info() try: conn.rollback() except: log.err(None,'Rollback Failed') raise excType,excTraceback
import @R_502_1681@db pool = ConnectionPool("@R_502_1681@db",...,cursorclass=@R_502_1681@db.cursors.DictCursor) ...
当你运行一个查询时,你会得到一个dict而不是一个元组,例如runQuery(“SELECT 1”)产生一个({‘1’:1L}的结果,)
总结
以上是编程之家为你收集整理的python – 扭曲的MySQL adbapi返回字典全部内容,希望文章能够帮你解决python – 扭曲的MySQL adbapi返回字典所遇到的程序开发问题。
如果您也喜欢它,动动您的小指点个赞吧