我想撰写并返回像"Hey {where}, {who}!"
Python的模板字符串使用从片.format()
,像Python标准函数在.format()之前转义字符串?
template = greeting_template + ", " + appeal_template + some_text
return template
但some_text
是涉及到从外部范围我的可变的,所以我不知道是否有任何特殊字符。 .format()
的特殊字符是{
和}
。
当然,我可以做
some_text = some_text.replace("{", "{{").replace("}", "}}")
然后用some_text
模板,因为我喜欢。但是我觉得这是一个不好的解决方案,因为它没有考虑Python的更高版本中格式化语法的可能扩展。
那么,在使用.format()
之前,是否有任何标准函数(或其他方式,如用于转义字符串的JavaScript的json.dumps
)转义字符串?
我不明白你的问题。 你可以发布你的代码与不好的解决方案吗? – Axnyff
也许你应该重新考虑**将'some_text'合并到模板中。理想情况下,模板也应该有一个'some_text'的占位符,并在不再被视为模板的地方渲染它。 –
我不担心支持可能永远不会发生的事情。无论即使有什么东西都不会涉及到在字符串栏中转义大括号,他们想要打破向后兼容性。 –