2014-11-06 95 views
0

很简单,当字符串是一样的东西:Python字符串格式化为%

s = 'test%s1' 
s % 'TEST' 

然而,当%本身存在的字符串,然后我得到这个错误。 如:

s = 'test%s12%34' 
s % 'TEST' 
>>ValueError: incomplete format 

如何韩德尔这种情况?

回答

6

双倍%

s = 'test%s12%%34' 

在输出时它会再次被压缩成一个百分比符号:

>>> s = 'test%s12%%34' 
>>> s % 'TEST' 
'testTEST12%34' 

String Formatting Operations documentation,其中各种转换字符记载:

'%'没有参数被转换,结果为'%'结果中的字符。

其中第二个%是转换字符。

+0

酷! 你能解释一下它的工作原因吗? – 2014-11-06 08:28:51

+1

@SaurabhVerma:它是一个文档化的转换字符; '%%'被转换为'%'。 – 2014-11-06 08:30:55