#!/usr/bin/python
from string import Template
s = Template('$x, go home $x')
s.substitute(x='lee')
print s
錯誤我得到的是模板字符串Python 2.5的錯誤
<string.Template object at 0x81abdcc>
預期的效果我正在尋找的是:李,回家李
#!/usr/bin/python
from string import Template
s = Template('$x, go home $x')
s.substitute(x='lee')
print s
錯誤我得到的是模板字符串Python 2.5的錯誤
<string.Template object at 0x81abdcc>
預期的效果我正在尋找的是:李,回家李
你需要看的substitute
返回值。它爲您提供了替換執行的字符串。
print s.substitute(x='lee')
模板對象本身(s
)不被改變。這使您可以使用相同的模板對象執行多個替換。
print s.substitute(x='lee')
你沒有得到一個錯誤:你正在得到你所要求的 - 模板本身。爲了達到您想要的結果,
print s.substitute(x='lee')
模板,就像字符串,不可變對象:你的模板調用(或字符串),任何方法都絕不能改變該模板 - 它只能產生一個單獨的結果你可以使用它。這當然適用於.substitute
方法。你調用它,但忽略結果,然後打印模板 - 無疑你期望模板本身有所改變,但這不是它的工作原理。