相关疑难解决方法(0)

547
推荐指数
6
解决办法
50万
查看次数

ruamel.yaml:关于typ和pure=True的澄清

我试图理解Python 库中typ和 的含义。我已阅读此处的 文档。 到目前为止,我已经了解使用安全加载器,该加载器省略了 YAML 中的 YAML 标记解析(它们可能导致任意代码执行)。我在文档中 没有找到有关往返解析器的任何解释。pure=Trueruamel.yaml

typ='safe'
typ='rt'

另外,我认为解释pure=True很混乱:

提供pure=True强制使用纯 Python 实现(如果可能/可用,将使用更快的 C 库)

是否使用更快的 C 库pure=True?如果确实如此,为什么您需要首先指定此标志?

python yaml ruamel.yaml

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

yaml 和 jinja2 阅读器

我希望能够在 python 中读取 YAML jinja 配置文件,就像使用 PyYAML 库一样,但我收到错误:

{% set name = "abawaca" %}
{% set version = "1.00" %}

package:
   name: {{ name }}
   version: {{ version }}

source:
   fn: {{ name }}-{{ version }}.tar.gz
   url: https://github.com/CK7/abawaca/archive/v{{ version }}.tar.gz
   sha256: 57465bb291c3a9af93605ffb11d704324079036205e5ac279601c9e98c467529

build:
   number: 0

requirements:
   build:
        - gcc   # [not osx]
        - llvm  # [osx]
Run Code Online (Sandbox Code Playgroud)

python jinja2 pyyaml

3
推荐指数
1
解决办法
3540
查看次数

在Python中渲染并加载yaml文件

我正在尝试加载 jinja2 格式的 yaml 文件并“评估”/“渲染”模板。在这里,举个例子:

{% set name = "pyexcel-ezodf" %}
{% set version = "0.3.3" %}

package:
  name: {{ name|lower }}
  version: {{ version }}
Run Code Online (Sandbox Code Playgroud)

我希望能够加载 yaml 文件并表示 yaml['package']['version']=0.3.3

我必须尝试 ruamel YAML,但它不评估版本,只给我一个包。

这里是Python代码:

yaml = YAML(typ='jinja2')
yaml.allow_duplicate_keys = True
yaml.explicit_start = True
yaml_content = yaml.load(content)
print (yaml_content['package'])

Run Code Online (Sandbox Code Playgroud)

python jinja2 pyyaml ruamel.yaml

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

标签 统计

python ×4

jinja2 ×2

pyyaml ×2

ruamel.yaml ×2

yaml ×2