Как я могу разобрать файл YAML в Python

Чтобы загрузить ваш класс с консоли ...

scala> :paste -raw io/hacking/yourpackage/YourClass.scala

Если у вашего класса есть основная функция, вы можете вызвать его с помощью:

scala> io.hacking.yourpackage/YourClass.main(Array())

477
задан Omer Dagan 23 November 2015 в 12:27
поделиться

1 ответ

Самый простой и чистый метод без использования заголовков C - это PyYaml ( документация ):

#!/usr/bin/env python

import yaml

with open("example.yaml", 'r') as stream:
    try:
        print(yaml.safe_load(stream))
    except yaml.YAMLError as exc:
        print(exc)

И все. Простая функция yaml.load () также существует, но всегда следует отдавать предпочтение yaml.safe_load () , если только вам явно не нужна предоставленная сериализация / десериализация произвольных объектов, чтобы избежать введения возможность выполнения произвольного кода.

Обратите внимание, что проект PyYaml поддерживает версии до спецификации YAML 1.1 . Если требуется поддержка спецификации YAML 1.2 , см. ruamel.yaml , как указано в этот ответ .

Также существует простая функция yaml.load () , но всегда следует отдавать предпочтение yaml.safe_load () , если только вам явно не требуется сериализация / десериализация произвольных объектов, чтобы избежать введения возможность выполнения произвольного кода.

Обратите внимание, что проект PyYaml поддерживает версии до спецификации YAML 1.1 . Если требуется поддержка спецификации YAML 1.2 , см. ruamel.yaml , как указано в этот ответ .

Простая функция yaml.load () также существует, но всегда следует отдавать предпочтение yaml.safe_load () , если только вам явно не нужна предоставленная сериализация / десериализация произвольных объектов, чтобы избежать введения возможность выполнения произвольного кода.

Обратите внимание, что проект PyYaml поддерживает версии до спецификации YAML 1.1 . Если требуется поддержка спецификации YAML 1.2 , см. ruamel.yaml , как указано в этот ответ .

Обратите внимание, что проект PyYaml поддерживает версии до спецификации YAML 1.1 . Если требуется поддержка спецификации YAML 1.2 , см. ruamel.yaml , как указано в этот ответ .

Обратите внимание, что проект PyYaml поддерживает версии до спецификации YAML 1.1 . Если требуется поддержка спецификации YAML 1.2 , см. ruamel.yaml , как указано в этот ответ .

723
ответ дан 22 November 2019 в 22:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: