Articles of pyyaml

Representa la instancia de diferentes clases con la misma clase base en pyyaml

Tengo un conjunto de pruebas de unidad y quiero almacenar los resultados de cada prueba como un archivo YAML para un análisis más detallado. Los datos de volcado en formato YAML se ajustan a mis necesidades de varias maneras. Pero las pruebas pertenecen a diferentes juicios y los resultados tienen diferentes clases parentales. Este es […]

¿Cómo volcar YAML con referencias explícitas?

Las referencias recursivas funcionan muy bien en ruamel.yaml o pyyaml : $ ruamel.yaml.dump(ruamel.yaml.load(‘&A [ *A ]’)) ‘&id001 – *id001’ Sin embargo, (obviamente) no funciona en referencias normales: $ ruamel.yaml.dump(ruamel.yaml.load(“foo: &foo { a: 42 }\nbar: { <<: *foo }")) bar: {a: 42} foo: {a: 42} Me gustaría crear explícitamente una referencia: data = {} data[‘foo’] = […]

¿Cómo puedo agregar una tupla de python a un archivo YAML usando pyYAML?

El título es bastante autoexplicativo. Cuando guardo una tupla en un archivo YAML, obtengo algo que se parece a esto: ambient: !!python/tuple [0.3, 0.3 ,0.3] Cuando bash cargarlo con yaml.safe_load (file_object), sigo recibiendo un error que dice: yaml.constructor.ConstructorError: could not determine a constructor for the tag ‘tag:yaml.org,2002:python/tuple’ ¿Lo que hay que hacer?

PyYAML: control de orden de los elementos llamados por yaml.load ()

Tengo un archivo de configuración yaml que crea algunos registros en db: setting1: name: [item,item] name1: text anothersetting2: name: [item,item] sub_setting: name :[item,item] cuando actualizo este archivo con setting3 y regenero registros en db por: import yaml fh = open(‘setting.txt’, ‘r’) setting_list = yaml.load(fh) for i in setting_list: add_to_db[i] es vital que el orden de […]

¿Cómo escribo un representante para PyYAML?

Quiero tener una función personalizada que serialice objetos de python arbitrarios, como que la función json.dump tenga un argumento opcional llamado ‘predeterminado’, que debería ser una función a la que llamará el dumper json si el objeto no es serializable por json. Simplemente quiero hacer el equivalente de esto desde el paquete json. json.dump(tests_dump, file(‘somefile’, […]

obligando a pyYAML a volcar constantemente

In [136]: a = [1,2,3,4,5] In [137]: print yaml.dump(a) [1, 2, 3, 4, 5] In [138]: a = [1,2,3,4,5, [1,2,3]] In [139]: print yaml.dump(a) – 1 – 2 – 3 – 4 – 5 – [1, 2, 3] ¿Por qué las salidas de los dos dumps anteriores son diferentes? ¿Es posible forzar a pyYAML a […]

Formato de salida de clase personalizada en PyYAML

Estoy trabajando en un ejemplo simple aquí, pero los documentos todavía me dejan un poco confundido. Aquí está el código de ejemplo: class A(yaml.YAMLObject): yaml_tag = u’!A’ def __init__(self, val): self.val = val if __name__ == ‘__main__’: t = datetime.time() a = A(t) print yaml.dump(a) print yaml.load(yaml.dump(a)).val == t La salida es ! A val: […]

¿Por qué PyYAML invierte tanto tiempo en analizar un archivo YAML?

Estoy analizando un archivo YAML con alrededor de 6500 líneas con este formato: foo1: bar1: blah: { name: “john”, age: 123 } metadata: { whatever1: “whatever”, whatever2: “whatever” } stuff: thing1: bluh1: { name: “Doe1”, age: 123 } bluh2: { name: “Doe2”, age: 123 } thing2: … thingN: foo2: … fooN: Solo quiero analizarlo con […]

¿Cómo forzar a PyYAML a cargar cadenas como objetos Unicode?

El paquete PyYAML carga cadenas no marcadas como objetos unicode o str, dependiendo de su contenido. Me gustaría usar objetos Unicode en mi progtwig (y, desafortunadamente, todavía no puedo cambiar a Python 3). ¿Existe una manera fácil de forzar a PyYAML a que siempre las cadenas carguen objetos Unicode? No quiero saturar mi YAML con […]

pyyaml: dumping sin tags

yo tengo >>> import yaml >>> yaml.dump(u’abc’) “!!python/unicode ‘abc’\n” Pero yo quiero >>> import yaml >>> yaml.dump(u’abc’, magic=’something’) ‘abc\n’ ¿Qué fuerza mágica no fuerza el etiquetado?