gpt4 book ai didi

python - 如何强制 Python yaml.YAMLObject 转储人类可读格式?

转载 作者:行者123 更新时间:2023-11-30 23:06:20 24 4
gpt4 key购买 nike

我想改进 YAML 语法以形成人类可读的交换格式。

我有这样的代码:

import yaml

class YamlFileLoader(yaml.Loader):
pass

class YamlFileDumper(yaml.Dumper):
pass

class YAMLPerson(yaml.YAMLObject):
yaml_tag = u'!person'
yaml_flow_style = False
def __init__(self):
self.first_name = u'John'
self.last_name = u'Doe'

y = YAMLPerson()
print yaml.dump(y)

它产生的输出很少:

!person
first_name: !!python/unicode 'John'
last_name: !!python/unicode 'Doe'

如何将其转换为人类可读的语法:

person:
first_name: 'John'
last_name: 'Doe'

我应该添加什么最少的代码?

最佳答案

变色龙

我通过谷歌找到了你的帖子,因为我也在寻找同样的东西。我找到了答案并想与大家分享。

使用“default_flow_style=False”,使输出易于阅读。请参阅示例代码。

import yaml

yaml_sample = """
a: 1
b:
c: 3
d: 4
"""

my_yaml = yaml.load(yaml_sample)

print "default style True == \n", yaml.dump(my_yaml)
print "default style False == \n", yaml.dump(my_yaml, default_flow_style=False)

输出,

default style True == 
a: 1
b: {c: 3, d: 4}

default style False ==
a: 1
b:
c: 3
d: 4

关于python - 如何强制 Python yaml.YAMLObject 转储人类可读格式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32713094/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com