Python的安全字符串模板我有一个复杂的嵌套字典对象,e.g:嵌套字典对象
value = {
'a': '100',
bits: {
1: 'alpha',
2: 'beta',
3: ['31', '32', 901]
}
}
我需要“安全”格式使用模板它。意思是如果没有找到钥匙,只是默默地忽略{}
占位符。键可能不存在,我不想引发KeyErrors。问题是string.Template无法处理与str.format相同的功能。我使用的str.format是一样的东西:
"a=${a}, b1={bits[1]}, b31={bits[3]}, b9={bits[9]}".format(**value)
和输出应该是:
"a=100, b1=alpha, b31=(31, 32, 901), b9="
我不需要花哨的循环或if/else语句的条件。只有简单的格式与子字典。
我有什么选择?我更喜欢尽可能地使用内置插件或者非常小的库。
这不是一个web应用程序,所以没有,如果可能的话,我想避免像这样加载像jinja2这样的库。
Python版本? – jamylak 2013-05-09 07:43:31
是的,Python .... – Ayman 2013-05-09 07:49:00
尽管我喜欢重新发明更好的车轮,但我还是有时间限制,并且喜欢使用已经测试过的东西:-) – Ayman 2013-05-09 08:04:47