相关疑难解决方法(0)

Python中的任何yaml库都支持将长字符串转储为块文字或折叠块?

我希望能够转储一个字典,其中包含我希望在块样式中具有的长字符串以便于阅读.例如:

foo: |
  this is a
  block literal
bar: >
  this is a
  folded block
Run Code Online (Sandbox Code Playgroud)

PyYAML支持使用这种样式加载文档,但我似乎找不到以这种方式转储文档的方法.我错过了什么吗?

python yaml pyyaml

19
推荐指数
2
解决办法
6447
查看次数

读取和写入YAML文件而不破坏锚点和别名?

我需要打开一个YAML文件,其中包含别名:

defaults: &defaults
  foo: bar
  zip: button

node:
  <<: *defaults
  foo: other
Run Code Online (Sandbox Code Playgroud)

这显然扩展到了一个等效的YAML文档:

defaults:
  foo: bar
  zip: button

node:
  foo: other
  zip: button
Run Code Online (Sandbox Code Playgroud)

其中YAML::load把它读成.

我需要在这个YAML文档中设置新密钥,然后将其写回磁盘,尽可能保留原始结构.

我看过YAML :: Store,但这完全破坏了别名和锚点.

是否有任何可用的东西:

thing = Thing.load("config.yml")
thing[:node][:foo] = "yet another"
Run Code Online (Sandbox Code Playgroud)

将文档保存为:

defaults: &defaults
  foo: bar
  zip: button

node:
  <<: *defaults
  foo: yet another
Run Code Online (Sandbox Code Playgroud)

我选择使用YAML,因为它很好地处理了这个别名,但是编写包含别名的YAML在现实中看起来有点像一个看起来很暗淡的游戏场.

ruby yaml

17
推荐指数
1
解决办法
5951
查看次数

如何强制to_yaml以文字块样式输出长字符串?

我在散列中有很长的字符串值,希望在YAML中以文字块样式(以>或开头的块|)打印,而不是以行内字符串的形式打印。打电话时有办法强制执行此操作#to_yaml吗?

文字块样式的示例:

---
this: |
  Foo
  Bar
Run Code Online (Sandbox Code Playgroud)

ruby yaml

5
推荐指数
1
解决办法
619
查看次数

标签 统计

yaml ×3

ruby ×2

python ×1

pyyaml ×1