Articles of pyyaml

¿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?

Cómo crear un objeto datetime con PyYAML

Me gustaría poder crear un objeto datetime.datetime.now() con datetime.datetime.now() PyYAML. Es fácil llamar a algunas funciones: >>> y = “””#YAML … description: Something … ts: !!python/object/apply:time.time []””” >>> yaml.load(y) {‘description’: ‘Something’, ‘ts’: 1289955567.940973} >>> Sin embargo, parece que no puedo averiguar cómo obtener un datetime.now() . He intentado tantas permutaciones con llamadas a eso utilizando […]