zoukankan      html  css  js  c++  java
  • Python TypeError: not enough arguments for format string

    今天使用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

  • 相关阅读:
    基本指令
    javascript event(事件对象)详解
    Sass进阶之路,之二(进阶篇)
    Sass进阶之路,之一(基础篇)
    原型链进阶
    数据类型检测
    JavaScript引用类型和值类型
    i.mx6 Android6.0.1分析input子系统:测试
    (三)JNI常用示例
    (二)JNI方法总结
  • 原文地址:https://www.cnblogs.com/codeblock/p/5504551.html
Copyright © 2011-2022 走看看