所以这里是SQL查询的一行。我怎么使用strftime('%s','now')而不用python试图用字符串替换%s ...这非常令人讨厌。
由于
DBQuery.query('INSERT INTO test (Date, Entry) VALUES (strftime(''%ss'', ''now''), "%s")' %('%', cherrypy.request.params['username']), 'INSERT')
答案 0 :(得分:1)
您可以通过使用两个背靠背来逃避%
,因此将%%s
放在您希望它成为%s
的字符串中。例如:
>>> print '''strftime('%%s', 'now'), "%s"''' % "some value"
strftime('%s', 'now'), "some value"
另外,我不认为你背对背的单引号正在做你认为的那样。这不会在字符串中留下单引号,它只会将两个字符串连接在一起,例如:
>>> 'aaa''bbb'
'aaabbb'
相反,你应该使用三引号字符串或转义单引号。最终结果可能如下所示:
DBQuery.query('''INSERT INTO test (Date, Entry) VALUES (strftime('%%s', 'now'), "%s")''' % cherrypy.request.params['username'], 'INSERT')