我可以帮您翻译,并使内容更加易于理解。如下是需要翻译的内容:
我希望用一些适当的格式化小数替换
我有一个包含HTML模板的Python变量:
template = """
<script>
function work()
{
alert('bla');
}
</script>
Success rate is {value:.2%} percent.
"""
我希望用一些适当的格式化小数替换
{value:.2%}
。由于我的模板可能包含大量JavaScript代码,我想避免使用{{
和}}
转义花括号,因此直接使用template.format(...)
不是一个选择。使用Template(template).substitute(...)
也似乎不可能,因为我想要对value
进行高级格式化。我可以将{value:.2%}
替换为相应的%(value)...
语法,然后使用template % ...
。但我不喜欢这种语法,因为真实模板中的大多数变量都不需要高级格式化,所以我想保持占位符语法简单。那么我的问题是,是否可以在模板中使用自定义占位符,在必要时允许高级格式化,例如仅使用{{value}}
或[[value]]
,而不是所有出现在模板中的占位符都进行替换。为了实现我想要的效果,我可以首先使用正则表达式获取所有占位符,然后格式化它们的内容,最后在模板中进行替换。但我想知道是否有更简单的解决方案。最后,我想避免.format(...)
在模板包含占位符时产生的错误,例如{{dont_want_this_substituted}}
,传递的字典中没有该值。