问题标签 [pyyaml]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 如何在文件中写入 YAML 格式的数据?
我需要使用 Python 将以下数据写入 yaml 文件:
即,字典中的字典。我怎样才能做到这一点?
python - 使用 PyYAML 选择性地转储对象属性
我可以使用 YAML 转储 python 对象的层次结构,所以:
产生输出:
但我想有选择地隐藏一些属性。所以假设我有一个函数attribs_to_dump(obj)
,它为任何对象返回我想要转储的属性名称列表,例如:
attribs_to_dump
我的问题是,我如何连接yaml.dump
才能获得以下输出?
有一个复杂的因素:我想通过挂钩到 Yaml 来实现效果,因为它在对象层次结构上爬行,而不是自己预处理对象层次结构。setattr/getattr/__dict__
原因是由于我正在使用的某些库中存在的魔法,并非层次结构中的所有对象都易于自省:-(...
非常感谢所有帮助!
pyyaml - PyYAML 转储对象路径
我在使用 PyYAML 转储和加载 YAML 文件时遇到问题。
我有两个分开的应用程序 A 和 B。我想在 A 中转储一个 YAML 文件,然后加载它并在 B 中使用它。但是对象的路径似乎不正确。
在 dump.py 中,我有如下代码:
它提供了一个 YAML 文件:
然后我需要在 use.py 中使用这个 YAML 文件。但我无法将它正确加载为 the_module.the_module.the_class 的实例。它说:
我试图在另一个模块 B-folder.adaptor 中进行转储,在 dump.py 中它只是调用 B-folder.adaptor 中的方法,但它仍然给出相同的结果。
如何处理?谢谢。
python - “!”上的 pyYAML 错误 在一个字符串中
首先,免责声明:我对 YAML 不太熟悉。我正在尝试将 YAML 文档解析为键值对(不要担心我是怎么做的。我已经处理好了)
我的文件曾经看起来像:
然后,有人去改了。
我得到这个解析错误:
这甚至意味着什么?我将如何让它仅将 !$ 解释为两个字符?我只想要一个字符串键和值的字典!此外,编辑 yaml 文件不是一种选择。必须使用解析器在代码中修复问题。
python - PyYAML,如何对齐地图条目?
我使用 PyYAML 将 python 字典输出为 YAML 格式:
输出是:
但我想:
有没有解决这个问题的简单方法,即使是次优的?
python - PyYAML 可以解析 iso8601 日期吗?
根据 YAML 规范,应识别带时区的 iso8601 日期。但是,在尝试使用 PyYAML 3.10(在 Windows 7 上使用 ActivePython 2.7.2.5)解析它们时,我得到了天真的日期:
(第一种格式是严格的 iso8601,第二种是“宽松”格式;示例直接取自 YAML 规范。)
这是预期的行为,还是我的 PyYaml 无法正常工作?
python - PyYAML:控制由 yaml.load() 调用的项目的顺序
我有一个 yaml 设置文件,它在 db 中创建一些记录:
当我使用setting3更新此文件并通过以下方式在 db 中重新生成记录时:
每次将它们添加到数据库时,它们的设置顺序(数据库中的 id 编号)都保持相同,这一点至关重要……而 setting3 只是被附加到 yaml.load() 的末尾,这样它的 id 就不会了t混淆已经在数据库中的任何记录......目前每次我添加另一个设置并调用 yaml.load() 记录以不同的顺序加载,从而导致不同的 id。我欢迎任何想法;)
编辑: 我遵循了abarnert 的提示并采取了这个要点https://gist.github.com/844388
按预期工作谢谢!
python - 解析 YAML,返回行号
我正在从 YAML 数据创建一个文档生成器,它将指定每个项目是从 YAML 文件的哪一行生成的。做这个的最好方式是什么?所以如果 YAML 文件是这样的:
我想要这样的东西:
我目前正在使用 PyYAML,但如果我可以从 Python 中使用它,任何其他库都可以。
python - 向使用 PyYaml 生成的 YAML 添加注释
我正在使用 PyYaml 从我自己的 python 对象创建 Yaml 文档。例如我的对象:
变成:
到现在为止还挺好。
但我还没有找到一种以编程方式向生成的 yaml 添加注释的方法,所以它看起来像:
查看 PyYaml 文档和代码,我发现没有办法这样做。
有什么建议么?
yaml - 为 PyYAML 转储的一部分指定样式
我将 YAML 用于计算机,将人工可编辑和可读的输入格式用于模拟器。对于人类可读性,输入的某些部分大多适合块样式,而流样式更适合其他部分。
PyYAML 的默认设置是在任何有嵌套映射或序列的地方使用块样式,而在其他任何地方都使用流样式。*default_flow_style* 允许选择全流式或全块式。
但我想输出更多形式的文件
可以看出,这并没有遵循始终一致的样式模式,而是根据文件的部分而变化。本质上,我希望能够指定某些块样式序列中的所有值都是流样式。有什么方法可以对倾销进行精细控制吗?能够以特定顺序转储顶级映射而不需要该顺序(例如,omap)对于可读性也很好。