Python 如何从%s%20获取ROE%20?

Python 如何从%s%20获取ROE%20?,python,Python,有一种方法可以得到它 >>> name="ROE" >>> s1='%s' >>> s2=s1 %name +'%20' >>> s2 'ROE%20' 我可以改变以下方式来获得它吗 >>> name="ROE" >>> s1='%s%20' >>> s2=s1 %name Traceback (most recent call last): File "<st

有一种方法可以得到它

>>> name="ROE"
>>> s1='%s'
>>> s2=s1 %name +'%20'
>>> s2
'ROE%20'
我可以改变以下方式来获得它吗

>>> name="ROE"
>>> s1='%s%20'
>>> s2=s1 %name
Traceback (most recent call last):
 File "<stdin>", line 1, in <module>
ValueError: incomplete format
>name=“ROE”
>>>s1='%s%20'
>>>s2=s1%名称
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
ValueError:格式不完整

我想将
%20
保留在s1字符串中,并将
%s
替换为
ROE
,还有其他方法吗?

是的,您需要通过加倍来转义百分号

>>> "%s%%20" % "ROE"
'ROE%20'

另一个使用较新且推荐的解决方案:

s1 = "{0}%20"
s2 = s1.format(name)