Skip to main content
 首页 » 编程设计

python之格式化python字符串的一部分

2025年05月04日12bjzhanghao

我正在使用 python 2.7 我正在用 python 编写一些查询

q = ''' 
select * from users where user_name = %(user_name)s and  user_email = %(user_email)s 
''' 

我想分两步格式化字符串 像这样的东西:

q2 = q % {'user_name':'david'} 
q3 = q2 % {'user_email':'sss@sss.com'} 

我写的例子不工作。 python抛出KeyError 是否有任何其他选项来执行这些任务?

请您参考如下方法:

使用适当的数据库 API。

也就是说,如果您知道在第一遍中将省略哪些键,您可以这样做:

>>> "%(a)s and %%(b)s" % {'a': 1} 
'1 and %(b)s' 
>>> _ % {'b': 2} 
'1 and 2'