码迷,mamicode.com
首页 > 编程语言 > 详细

Python TypeError: not enough arguments for format string

时间:2016-05-18 12:30:11      阅读:266      评论:0      收藏:0      [点我收藏+]

标签:

今天使用mysqldb执行query语句的时候,在执行这条语句的时候:

select  PROJ, DATE_FORMAT(MAX(DATE),%Y-%m-%) AS MAXDATE, DATE_FORMAT(MIN(DATE),%Y-%m-%d) AS MINDATE FROM 
(SELECT resource.PROJ,`day`.DATE FROM resource,`day` where resource.MAC=`day`.MAC ORDER BY PROJ) AS PROJSET GROUP BY proj

出现一下错误:

Python TypeError: not enough arguments for format string


根据错误提示顺藤摸瓜找到病症:

技术分享

在python扩展包mysqldb下的cursors.py有这么一处代码写法已经过时。

原来的的写法如图:

技术分享

我们只需要把

query = query % args 修改为 query = query.format(args)

总结:这个mysqldb是我在ubuntu16.04版本的linux通过apt-get install安装的,但是也出现mysqldb里一些过时的写法。

旧版本的写法基本能满足一些基本的sql的语句执行,但是像上面的sql语句里使用了max,min等mysql系统函数的同时,又

使用了data_format函数,这样query % args 就不能使用了。

另附别人的忠告:Note that the % syntax for formatting strings is becoming outdated. If your version of Python supports it

 

Python TypeError: not enough arguments for format string

标签:

原文地址:http://www.cnblogs.com/codeblock/p/5504551.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!