我试图%
使用字符串格式追加一个字符串.
我想获得以下输出:
a : [" name like '%FTa0213' "]
试试1:
a = [ ] b = {'by_name':"FTa0213"} a.append(" name like "%" %s' " %b['by_name']) print "a :",a
错误:
a.append(" name like "%" %s' " %b['by_name']) TypeError: not all arguments converted during string formatting
试试2:
a = [ ] b = {'by_name':"FTa0213"} c = "%" a.append(" name like '{0}{1}' ".format(c,b['by_name']) print "a :",a
错误:
print "a :",a ^ SyntaxError: invalid syntax
如何%
在格式化的字符串中包含?
要将百分比包含在%
将用于printf样式字符串格式的字符串中,只需转义%
包含双精度百分比即可%%
a = [] b = {'by_name': "FTa0213"} a.append(" name like %%%s' " % b['by_name']) print "a :", a
(文件)
在你的第一次尝试中,你使用"%"的方式是错误的; 下面的代码可以为您的第一次尝试.
a.append( "name like %%%s" % b['by_name'])
由于"%"在python字符串中是特殊的,因此您需要在真正的"%"之前添加"%"以进行转义.
在你的第二次尝试,没有什么错在你打印,你忘了")"
你的a.append
线.;-)
只需将%放在那里,无需设置变量
a = [ ] b = {'by_name':"FTa0213"} a.append(" name like '%{}' ".format(b['by_name'])) print "a :",a
输出是
a:["名称如'%FTa0213'"]