如何使用 PyYAML 重命名密钥
Posted
技术标签:
【中文标题】如何使用 PyYAML 重命名密钥【英文标题】:How do I rename a key with PyYAML 【发布时间】:2014-07-30 00:39:54 【问题描述】:我已经加载了一个我想要修改的 YAML 文件(模板)(键和一些值)。
例如
key_to_rename:
a: "1"
b: "2"
c: "3"
如何使用 PyYAML 查找和重命名密钥?
my_dict = yaml.load(stream)
for key, value in my_dict.iteritems():
if (key == "key_to_rename"):
print key
key = "new_name"
print key
print yaml.dump(my_dict)
但这仍然没有保持更改
【问题讨论】:
我确实已经加载了 YAML,但我不知道如何重命名密钥。输入来自一个文件,所以我可以替换文件中的字符串,但我认为如果我可以在 yaml dict 上这样做会更优雅。 (Stefano,我希望你不是-1) 关闭问题有多大帮助??认真的家伙!?至少给我提示一下?my_dict["new_name"] = value
然后my_dict.pop(key, None)
知道了!谢了哥们。请注意,我对 python 和 pyyaml 都是新手(今天才开始)。我们很感激有人实际上试图提供帮助而不是试图解决问题。
【参考方案1】:
感谢 Kyllopardiun
stream = open("./tiny.yml", 'r')
my_dict = yaml.load(stream)
# First make a copy with a new name
my_dict["new_name"] = qb_dict['key_to_rename']
# Then remove the old key
my_dict.pop("key_to_rename", None)
【讨论】:
以上是关于如何使用 PyYAML 重命名密钥的主要内容,如果未能解决你的问题,请参考以下文章