【发布时间】:2019-04-01 22:16:14
【问题描述】:
如果我有一个 yaml 文件,其中包含一个与 python f-strings 合作使用的带有括号符号 {} 的字符串,那么在这里如何利用 f-string 插值?以这个简单的 yaml 文件为例:
# tmp.yaml
k1: val1
k2: val2 as well as {x}
如果x = 'val3',我希望k2的值反映val2 as well as val3
# app.py
x = 'val3'
with open('tmp.yaml', 'rt') as f:
conf = yaml.safe_load(f)
print(conf)
{'k1': 'val1', 'k2': 'val2 as well as {x}'}
这可以很容易地用格式字符串来完成...
print(conf['k2'].format(x=x))
val2 as well as val3
但是如何对 f-strings 做同样的事情呢?
【问题讨论】:
-
看不到这是重复的。请详细说明一下好吗?
-
我认为这不可能。使用
.format():) -
@user9074332 YAML 最接近的特性是使用锚点和引用(在链接问题中描述)。
标签: python yaml python-3.6 f-string