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

发布于 2024-12-11 01:34:17 字数 365 浏览 1 评论 0原文

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

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

这似乎与 , 有关,但我已经检查过,所有括号都正确嵌套(没有一个包含错误的 ,)

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

Trying to run this line on my computer results in a string formatting error:
ValueError: unsupported format character ',' (0x2c) at index 36

It seems to be concerning the , but I have checked and all the parenthesis are properly nested (none enclosing an errant ,)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

你是暖光i 2024-12-18 01:34:17

每个位置参数后面都需要一个“s”。

(%(cname)s, %(symbol)s,  ....

You need an "s" after each of those positional arguments.

(%(cname)s, %(symbol)s,  ....
爱格式化 2024-12-18 01:34:17

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

cur.execute("INSERT INTO company VALUES (%s, %s, %s, %s)", (company, company, startdate, enddate))

What @imm said. Also, you may want to use the built in query formatting that is part of MySQLdb.

cur.execute("INSERT INTO company VALUES (%s, %s, %s, %s)", (company, company, startdate, enddate))
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文