python - 使用特殊字符格式化字符串
问题描述
下面的代码抛出 KeyError。请问有什么想法吗?我尝试将牙套加倍,但仍然没有运气。
v = "My Name='{x[1].name}'"
p = "x[1].name"
pv = 'test'
v = v.format(p=pv)
print(v)
我也不想创建另一个变量,并且想对v
变量进行格式化。
预期产出
My Name='test'
解决方案
如果您确实必须{x[1].name}
用作格式标记,则可以创建一个合适的对象来代替x
.
v = "My Name='{x[1].name}'"
class Foo:
name = 'test'
print(v.format(x=[Foo,Foo]))
输出:
My Name='test'
这x
是一个列表,x[1]
是类 Foo,并且x[1].name
是字符串“test”,根据需要。
推荐阅读
- jquery - MediaWiki API 检索搜索歌曲名称的年份
- linux - 在 Raspberry Pi 3 板上构建驱动程序时出错
- typescript - 通用类型'ElementRef
' 需要 2 个类型参数 - javascript - Javascript函数未从Jquery Datatables行触发
- html - 如何创建一个看起来与 Python 笔记本一模一样的网页?
- elasticsearch - 在 fluentd 中为 Windows 日志添加附加字段
- sas - “日期”方面的 SAS 代码
- akka - Akka 中的数据共享
- log4j2 - log4j2 中的 DefaultRolloverStrategy
- node.js - 离子服务错误:未知选项`--address'