解决torndb(目前对MySQLdb最好的封装)在python3.x下不能用的问题
来源:互联网 发布:日照光华网络教育 编辑:程序博客网 时间:2024/06/05 05:19
我用的是python3.3,连接MySQL最常用的是MySQLdb,但官方是针对python2.x的,但是我找到一个支持python3.x的版本https://github.com/davispuh/MySQL-for-Python-3 。在python3.3下使用正常,非常给力。但是在tornado中使用的是torndb,这个是对MySQLdb的封装,但使用起来非常方便,而且现在tornado3.0.1 把torndb.py单独分出来,这样我们在其他项目中也能直接用torndb,非常人性化。但是,现在版本的torndb.py直接用在python3上会出错的,下面是我对torndb.py的一些改动:
在torndb.py 71行,如下:
args = dict(conv=CONVERSIONS, use_unicode=True, charset="utf8", db=database, init_command=('SET time_zone = "%s"' % time_zone), connect_timeout=connect_timeout, sql_mode="TRADITIONAL")
use_unicode是python2.x才有的,新的python3.x默认都是utf8,所以把use_unicode=True去掉(大胆跟我做,没事儿的哈)。
然后在torndb.py query函数中,如下:
def query(self, query, *parameters, **kwparameters): """Returns a row list for the given query and parameters.""" cursor = self._cursor() try: self._execute(cursor, query, parameters, kwparameters) column_names = [d[0] for d in cursor.description] return [Row(itertools.izip(column_names, row)) for row in cursor] finally: cursor.close()
izip函数也是python2.x中才有的,作用是把两个list各个元素对应合到一个元组里,并形成一个新的list,在python3.x中用zip_longest代替,换掉就行了。
好了,修改完毕,这样python3.x就可以正常使用torndb了,是不是非常爽~哈哈
转载请注明:转自 http://blog.csdn.net/littlethunder/article/details/8917378
- 解决torndb(目前对MySQLdb最好的封装)在python3.x下不能用的问题
- python3.x的torndb使用记录(发现网上没有关于torndb的使用说明,可能太简单了吧:-P)
- 解决农业银行k宝在win7下不能用的问题
- 怎么解决网站后台FCKeditor编辑器在IE10下不能用的问题
- 解决fedora下无线网络不能用的问题
- 解决ie8下F12不能用的问题
- 解决TD在ie10上不能用的问题
- mysql在mac 10.9下不能用的问题
- mysqldb在python3下无法使用的解决方案
- 解决不能用 ./运行的问题
- 解决输入法不能用的问题
- 解决国内gem不能用的问题
- 解决国内gem不能用的问题
- 解决国内gem不能用的问题
- 解决国内gem不能用的问题
- OS X 10.11 下解决Python-MysqlDB无法使用的问题
- 解决python3下mysqldb不支持
- mac下make不能用的问题
- Android环境的搭建的一些思考
- eclipse中RMI编程环境的搭建与编程示例
- plsa matlab实现
- 深拷贝与浅拷贝解析
- 问题讨论:使用java.util.logging,每个项目使用自己的logging.properties配置文件
- 解决torndb(目前对MySQLdb最好的封装)在python3.x下不能用的问题
- 升级gcc后glibc报错
- Android系统架构学习
- 解决织梦DedeCMS恶意注册的方法
- 两年内从零到每月十亿 PV 的发展来谈 Pinterest 的架构设计
- UVa 10098 - Generating Fast
- android应用多主题
- Little Zhang
- 转自http://blog.devtang.com/blog/2012/04/22/use-fmdb/ 还不错。过后我会自己写的放出来 在iOS开发中使用FMDB