我无法让Python Cheetah为我打印反斜杠。
猎豹版本2.4.4
from Cheetah.Template import Template
my_template = """
Stuff $var1\\$var2
"""
t = Template(source=my_template, searchList = [{"var1" : """\\x\y\z""", "var2" : "some"}])
print str(t)
我希望看到输出
Stuff \\x\y\z\some
但是我得到了
Stuff \x\y\z$var2
在这种情况下,模板应该是什么?
答案 0 :(得分:0)
一种简单的方法是使用猎豹<%= =>语法
my_template = """
Stuff $var1<%= '\\\\'%>$var2
"""
答案 1 :(得分:0)
代码问题
my_template = """
Stuff $var1\\$var2
"""
首先由Python解析; Python解释加倍的反斜杠并将它们转换为单个反斜杠:my_template
变为Stuff $var1\$var2
并且传递给模板的是什么。如果你想要加倍的反斜杠,你必须再次加倍它们或使用Python原始字符串。任
my_template = """
Stuff $var1\\\\$var2
"""
或
my_template = r"""
Stuff $var1\\$var2
"""