python-3.x - 使用字典自动填充 python 模板
问题描述
我想在 python 中使用字典自动填充模板。
这是一个 MWE
temp = """
{name}
"""
mydict = {"name":"pythonic"}
print(temp.format(**mydict))
但是,我的真实模板里面有大括号。这是一个不起作用但反映我的实际问题的示例
temp = """
{
{name}
}
"""
mydict = {"name":"pythonic"}
print(temp.format(**mydict))
我得到的错误是预期的......但是我不知道解决方案:
Traceback (most recent call last):
File "test.py", line 8, in <module>
print(temp.format(**mydict))
ValueError: unexpected '{' in field name
我希望输出是
{
pythonic
}
我想一种解决方案是在我的字典中添加“{”和“}”作为键并将它们也粘贴进去,但是,这似乎很愚蠢。特别是因为我的实际模板有几次大括号。
解决方案
使用双花括号来转义它们:
temp = """
{{
{name}
}}
"""
mydict = {"name":"pythonic"}
print(temp.format(**mydict))
这将提供您想要的输出。您可以在有关格式化字符串的文档中找到它...
推荐阅读
- elasticsearch - Kibana 的脚本化字段是否在运行时工作?
- javascript - D3堆积条形图:计算和显示每个条形图的总和/总计
- php - 当 fetch_object 具有 class_name 参数的值时出现 ArgumentCountError
- python - 在 Pandas 数据框中添加亚洲/新加坡时间戳作为第一列
- r - 将应用程序部署到 shinyapps.io 服务器时出错
- azure-devops - Azure Devops 将关闭的工作项发送到 slack
- android - Android Studio 未显示可用的依赖项更新
- reactjs - Gatsby 中的外部脚本
- guava - 在 API 中返回 Futures.immediateFuture(x) 是一种反模式吗?
- javascript - 在 Vue.js 中单击元素时更新仪表板