gpt4 book ai didi

python - 为每个列表元素添加引号

转载 作者:IT老高 更新时间:2023-10-28 21:56:29 25 4
gpt4 key购买 nike

我对 python 很陌生。我需要一个简单明了的脚本来为每个列表元素添加引号。让我再解释一下。这是我的代码。

parameters = ['a', 'b', 'c']
query = "SELECT * FROM foo WHERE bar IN (%s)" % (', '.join(parameters))

我想用这个来查询。但结果是无效查询。结果如下。

SELECT * FROM foo WHERE bar IN (a, b, c, d)

我想要这样:

SELECT * FROM foo WHERE bar IN ('a', 'b', 'c', 'd')

如何在连接元素时添加引号。

最佳答案

一个简单的解决方案是遍历您的 parameters 列表并将引号附加到每个元素的开头和结尾:

(', '.join('"' + item + '"' for item in parameters))

注意:这很容易受到 SQL 注入(inject)的影响(无论是巧合还是故意)。更好的解决方案是让数据库引用并插入这些值:

query = "SELECT * FROM foo WHERE bar IN (%s)" % ','.join('?' * len(params))
cursor.execute(query, params)

更容易阅读和正确处理引用。

关于python - 为每个列表元素添加引号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6741185/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com