问题标签 [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.

0 投票
5 回答
36327 浏览

python - pyyaml:不带标签的倾销

我有

但我想要

什么魔法参数强制不标记?

0 投票
1 回答
438 浏览

formatting - 更改 PyYAML 输出中的列表格式

这就是 PyYAML 在我的机器上的行为方式:

我想要的是这个输出(两者都是有效的 YAML):

是否有某种选择可以做到这一点?

0 投票
1 回答
1858 浏览

python - PyYAML 解析成任意对象

我有以下 Python 2.6 程序和 YAML 定义(使用PyYAML):


这导致以下输出:
<type 'dict'>
{'product': {'sku': 123, 'name': 'Product X', 'features': [{'weight': '10kg', 'size': '10x30cm'}]}}

x可以使用来自?的字段创建对象

我想要以下内容:

我知道可以从现有类创建和实例化,但这不是我想要的这个特定场景。

编辑:

  • 更新了关于“强类型对象”的令人困惑的部分。
  • features按照 Alex Martelli 的建议更改了对索引器的访问
0 投票
3 回答
13837 浏览

python - 如何使用 safe_load 使用 PyYAML 反序列化对象?

有这样的片段:

Yaml 文档说使用从不受信任的来源收到的任何数据调用yaml.load是不安全的;那么,我应该对我的片段\类进行什么修改以使用safe_load方法?
是否可以?

0 投票
2 回答
11937 浏览

python - 如何强制 PyYAML 将字符串加载为 unicode 对象?

PyYAML 包将未标记的字符串加载为 unicode 或 str 对象,具体取决于其内容。

我想在整个程序中使用 unicode 对象(不幸的是,目前还不能切换到 Python 3)。

有没有一种简单的方法可以强制 PyYAML 始终以字符串加载 unicode 对象?我不想用!!python/unicode标签把我的 YAML 弄得乱七八糟。

输出:['spam', 'eggs', 'bacon', u'cr\xe8me br\xfbl\xe9e', 'spam']

我想:[u'spam', u'eggs', u'bacon', u'cr\xe8me br\xfbl\xe9e', u'spam']

0 投票
1 回答
4091 浏览

python - 使用 PyYaml 将集合转储到 YAML 文件

我正在编写一个 python 应用程序。我正在尝试使用 PyYaml 将我的 python 对象转储到 yaml 中。我正在使用 Python 2.6 并运行 Ubuntu Lucid 10.04。我在 Ubuntu 包中使用 PyYAML 包:http ://packages.ubuntu.com/lucid/python/python-yaml

我的对象有 3 个文本变量和一个对象列表。大致是这样的:

我要转储的类包含 AnotherObjectClass 实例的列表。这个类有几个文本变量。

PyYaml 不会以某种方式转储 AnotherObjectClass 实例中的集合。PyYAML 会转储 text_variable_1、text_variable_2 和 text_variable_3。

我正在使用以下 pyYaml API 转储 ClassToDump 实例:

有没有人有将对象列表转储到 YAML 的经验?

这是实际的完整代码片段:

这是输出:

!!python/object:Miranda.Rule rule_condition: ALL rul​​e_setting: !!python/object:Miranda.RuleSetting {confirm_action: true, description: My Configuration, enabled: true, recursive: true, source_folder: source_folder} rule_verb: !!python /object:Miranda.RuleVerb {压缩:true,dest_folder:/home/zainul/Downloads,类型:移动文件}

0 投票
1 回答
928 浏览

python - 如何在 PyYaml.load 中默认为 CLoader

有没有办法让 PyYaml 的默认加载器成为 CLoader。所以不必做

它只是默认为 CLoader,所以我可以这样做:

0 投票
1 回答
530 浏览

yaml - yaml 属性值

我正在使用 yaml 文件来存储属性和值。但有些值需要附加当前日期。

那么如何在 yaml 文件中输入值,以便 yaml 解析器自动识别并替换为当前日期

我正在使用 pyyaml 和 python

0 投票
2 回答
10496 浏览

yaml - 在 YAML 中保留新行

如何格式化这样的 YAML 文档,以便 PyYAML 可以正确解析它?

我知道 ':' 字符很特殊,所以我必须将整个内容用引号括起来,如下所示:

为了添加新行,我必须添加'\n':

无论如何要格式化 YAML 文档,所以我不必添加 '\n来换行?

0 投票
2 回答
2071 浏览

python - 解析 YAML 并假设某个路径始终是一个字符串

我正在使用来自http://pyyaml.org的 YAML 解析器,我希望它始终将某些字段解释为字符串,但我无法弄清楚 add_path_resolver() 是如何工作的。

例如:解析器假定“版本”是一个浮点数:

某些文件具有“版本:2”(被解释为 int)或“版本:2.3 alpha”(被解释为 str)。

我希望它们始终被解释为 str。

似乎 yaml.add_path_resolver() 应该让我指定,“当你看到版本时:,总是将它解释为一个 str)但它没有很好地记录。我最好的猜测是:

但这不起作用。

关于如何让我的版本字段始终为字符串的建议?

PS 以下是一些不同“版本”字符串的示例以及它们的解释方式: