Articles of pyyaml

La nueva versión de PyYAML se rompe en la mayoría de los objetos de Python personalizados – RepresenterError

Hace aproximadamente 5 horas, se lanzó la versión 4.1.0 . Está rompiendo mis pruebas unitarias. Aquí hay un MVCE limpio que muestra esto: Versión 3.12: >>> import numpy as np >>> import yaml >>> x = np.int64(2) >>> yaml.dump(x, Dumper=yaml.Dumper) ‘!!python/object/apply:numpy.core.multiarray.scalar\n- !!python/object/apply:numpy.dtype\n args: [i8, 0, 1]\n state: !!python/tuple [3, <, null, null, null, -1, -1, […]

pyyaml ​​y usando comillas solo para cadenas

Tengo el siguiente archivo YAML: — my_vars: my_env: “dev” my_count: 3 Cuando lo leo con PyYAML y lo vuelvo a descargar, obtengo el siguiente resultado: — my_vars: my_env: dev my_count: 3 El código en cuestión: with open(env_file) as f: env_dict = yaml.load(f) print(yaml.dump(env_dict, indent=4, default_flow_style=False, explicit_start=True)) Intenté usar el parámetro default_style : with open(env_file) as […]

Cargando documento como cadena cruda en yaml con PyYAML

Quiero analizar documentos yaml como los siguientes meta-info-1: val1 meta-info-2: val2 — Plain text/markdown content! jhaha Si load_all esto con PyYAML, obtengo lo siguiente >>> list(yaml.load_all(open(‘index.yml’))) [{‘meta-info-1’: ‘val1’, ‘meta-info-2’: ‘val2’}, ‘Plain text/markdown content! jhaha’] Lo que estoy tratando de lograr aquí es que el archivo yaml debe contener dos documentos, y el segundo se debe […]

lector de yaml y jinja2

Me gustaría poder leer en python un archivo de configuración jinja de YAML como usar la biblioteca PyYAML pero recibo errores: {% 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 […]

Creando etiqueta personalizada en PyYAML

Estoy tratando de usar PyYAML de Python para crear una etiqueta personalizada que me permita recuperar las variables de entorno con mi YAML. import os import yaml class EnvTag(yaml.YAMLObject): yaml_tag = u’!Env’ def __init__(self, env_var): self.env_var = env_var def __repr__(self): return os.environ.get(self.env_var) settings_file = open(‘conf/defaults.yaml’, ‘r’) settings = yaml.load(settings_file) Y dentro de defaults.yaml es simplemente: […]

Cambiar un valor en un archivo yaml usando Python

Tengo un archivo .yaml que quiero actualizar con un código Python. Digamos que se ve algo así: state: ‘present’ Me gustaría tener un código que cambie el estado y guarde el archivo. Estoy tratando con algo como esto y fallaré: def set_state(state): with open(“file_to_edit.yaml”, ‘rw’) as f: doc = yaml.load(f) doc[‘state’] = state yaml.dump(f) Estoy […]

¿Cómo usar la clase de diccionario personalizada al cargar yaml?

Actualmente estoy cargando un archivo YAML como este import yaml yaml.load(”’level0: stuff: string0 level1: stuff: string1 level2: …”’) El código anterior crea diccionarios nesteds . En lugar de crear diccionarios nesteds, quiero crear instancias anidadas de objetos FancyDict . class FancyDict(collections.MutableMapping): def __init__(self, *args, **kwargs): for name in kwargs: setattr(self, name, kwargs[name]) La sección sobre […]

Diferentes representaciones de matrices YAML.

Estoy escribiendo un convertidor de tipo de archivo utilizando Python y PyYAML para un proyecto en el que estoy traduciendo desde y hacia archivos YAML varias veces. A continuación, estos archivos son utilizados por un servicio independiente sobre el que no tengo control, por lo que debo volver a traducir el YAML de la misma […]

¿Por qué PyYAML usa generadores para construir objetos?

He estado leyendo el código fuente de PyYAML para tratar de entender cómo definir una función constructora adecuada que pueda agregar con add_constructor . Tengo un buen conocimiento de cómo funciona ese código ahora, pero aún no entiendo por qué los constructores de YAML predeterminados en SafeConstructor son generadores. Por ejemplo, el método construct_yaml_map de […]

Python y PYAML – yaml.scanner.ScannerError: los valores de mapeo no están permitidos aquí

Estoy en ubunty 64 con python 2.7 y uso PyYAML-3.10 A continuación se muestra mi archivo yaml: host:localhost username:root password:test database:test operations_database:operations treeroot: branch1: name: Node 1 branch1-1: name: Node 1-1 branch2: name: Node 2 branch2-1: name: Node 2-1 Cuando ejecuto el siguiente código obtengo el siguiente error. Pero si quito las líneas sobre el […]