【发布时间】:2014-08-16 14:14:58
【问题描述】:
我有一个 python 项目,我想在其中使用 YAML (pyYaml 3.11),特别是因为它“漂亮”并且用户可以在必要时在文本编辑器中轻松编辑。不过,我的问题是,如果我将 YAML 引入 python 应用程序(我需要这样做)并编辑内容(我需要这样做),那么编写新文档通常不像我开始的那样漂亮。
pyyaml 文档很差——甚至没有记录转储函数的参数。我找到了http://dpinte.wordpress.com/2008/10/31/pyaml-dump-option/。但是,我仍然缺少我需要的信息。 (我开始查看源代码,但它似乎不是最吸引人的。如果我在这里没有得到解决方案,那是我唯一的办法。)
我从一个看起来像这样的文档开始:
- 绿色: 输入: - 港口的东西: 小部件提示:文件名 小部件帮助:选择一个文件名 - 端口目标路径: 小部件提示:路径 价值:'东西' 输出: - 端口值: 小部件提示:字符串 文字:| 我迷路了,我找到了 我饿得像狼一样。加载到 python (yaml.safe_load( s )) 后,我尝试了几种方法将其转储出来:
>>> 打印 yaml.dump(d3, default_flow_style=False, default_style='' ) - 绿色: 输入: - 港口的东西: 小部件帮助:选择一个文件名 小部件提示:文件名 - 端口目标路径: 价值:东西 小部件提示:路径 输出: - 端口值: 小部件提示:字符串 文字:“我迷路了,我找到了” 我饿得像狼一样。 ' >>> 打印 yaml.dump(d3, default_flow_style=False, default_style='|' ) - “绿色”: “输入”: - “港口事物”: “小部件帮助”:|- 选择文件名 “小部件提示”:|- 文件名 - “端口目标路径”: “价值”:|- 事物 “小部件提示”:|- 小路 “输出”: - “端口值”: “小部件提示”:|- 细绳 “文本”:| 我迷路了,我找到了 我饿得像狼一样。理想情况下,我希望“短字符串”不使用引号,就像第一个结果一样。但是我希望将多行字符串写成块,就像第二个结果一样。从根本上说,我想尽量减少文件中不必要的引号的爆炸,我认为这会使在文本编辑器中编辑变得更加烦人。
有人有这方面的经验吗?
【问题讨论】:
标签: python yaml pretty-print pyyaml