忽略 python 中的转义字符

Ignoring escape characters in python

我正在尝试将标题插入数据库。有时标题有引号并引发错误。

我不能用 \" 替换引号,因为它认为我在转义引号。

sql = 'UPDATE `table_name` SET `title`="{}";'

title = 'A "Title" With Quotes'

sql.format(title.replace('"','\"'))

这会将引号替换为更多引号,因此不会有任何变化。

'UPDATE `table_name` SET `title`="A "Title" With Quotes";'

如果我尝试转义反斜杠,它不会转义任何内容。

sql.format(title.replace('"','\"'))

'UPDATE `table_name` SET `title`="A \"Title\" With Quotes";'

执行此操作的最佳方法是使用三重引号,它将内部文本解释为字符串:

sql = """UPDATE `table_name` SET `title`="{}";""" 

你可以格式化它是你想要的:

sql = """UPDATE `table_name` SET `title`="{}";""".format('A \"B\"')
print(sql)

输出:

UPDATE `table_name` SET `title`="A \"B\"";

适用于 MySQL