Python中使用string.Template进行动态字符串替换

时间:2015-11-28 20:04:05

标签: python string

是否可以使用Python的string.Template进行动态字符串替换?更确切地说,我不想用函数的结果替换标识符的出现,例如

from string import Template

f = lambda s: "123"

templateString = """first line: $replaceme
2nd line "$replaceme" """

s = Template(templateString).substitute(replaceme=f)

不使用评估f,而是使用其字符串表示:

first line: <function <lambda> at 0x7fb0367e3488>
2nd line "<function <lambda> at 0x7fb0367e3488>"

有关如何使用f

的结果替换的任何想法

1 个答案:

答案 0 :(得分:2)

您需要通过执行f来致电f()f表示功能; f()表示其返回值。