所以我有一个try/except块设置,这将经历一个数据库依赖于一定的条件:替换值不起作用?
try:
for searchnumber in itertools.count(0):
print searchnumber
c.execute("""SELECT words from searchterms where onstate = 1 AND progid = %d;""") % searchnumber
searchterms = (c.fetchall())
searchterms = [",".join(x) for x in searchterms]
print searchterms
except:
pass
出于某种原因,它不是迭代上的progid,其实,它不是甚至没有分配给它的第一个值(0)。为什么会这样?据我所知,%d应该searchnumber
的整数值
我对'c.execute()'表达式之外的'%searchnumber' * *感到困惑。它不应该在括号里吗? – kojiro 2012-07-12 03:12:12
我的天啊。我是一个白痴。 – 2012-07-12 03:14:20
这是一个完美的例子,说明为什么你**不应该使用**,除非它隐藏了TypeError。 – DSM 2012-07-12 03:14:26