使用python的字符串格式库的问题

chu*_*tar 5 python string formatting

cur.execute('INSERT INTO company VALUES (%(cname), %(symbol), %(start_date), %(end_date))' %{'cname' : company, 'symbol' : company, 'start_date' : startdate, 'end_date' : enddate})
Run Code Online (Sandbox Code Playgroud)

尝试在我的计算机上运行此行会导致字符串格式错误:ValueError:索引36处不支持的格式字符','(0x2c)

它似乎与此有关,,但我检查过并且所有括号都已正确嵌套(没有包含错误,)

imm*_*imm 17

在每个位置参数之后你需要一个"s".

(%(cname)s, %(symbol)s,  ....
Run Code Online (Sandbox Code Playgroud)


sbe*_*rry 3

@imm 说了什么。另外,您可能希望使用 MySQLdb 的内置查询格式。

cur.execute("INSERT INTO company VALUES (%s, %s, %s, %s)", (company, company, startdate, enddate))
Run Code Online (Sandbox Code Playgroud)