我想撰寫並返回像"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'的佔位符,並在不再被視爲模板的地方渲染它。 –
我不擔心支持可能永遠不會發生的事情。無論即使有什麼東西都不會涉及到在字符串欄中轉義大括號,他們想要打破向後兼容性。 –