Ich habe dieses seltsame Problem beim Laden einer YAML-Datei mit einer MAC-Adresse, wo die Adresse in Nummer umgewandelt wurde.pyyaml konvertiert MAC-Adresse in Nummer
>>> yaml.safe_load('abc: 11:00:00:00:00:00')
{'abc': 8553600000}
>>> yaml.safe_load('abc: 99:00:00:00:00:00')
{'abc': 76982400000}
Aber dann versuchte ich mit folgen und ich bekomme Antwort wie erwartet.
Ich kenne Lösung für diese, die die MAC-Adressen in Anführungszeichen haben soll, aber ich möchte Grund für dieses Verhalten wissen.
Interessanterweise habe ich gleiche Daten mit Ruby und ähnliche Ergebnisse versucht.
EDIT
neue Testdaten hinzufügen, wo es funktioniert nur mit Zahlen
>>> yaml.load('abc: 52:00:00:60:00:00')
{'abc': '52:00:00:60:00:00'}
'ramel.yaml' lädt sexagecimals, wenn Ihr YAML-Dokument mit'% YAML 1.1' beginnt oder diese Version als Parameter für 'safe_load' angibt, damit das Paket sie nicht loswird. Sexagesimals sind nicht in 1.2 und das ist, was "ruamel.yaml" standardmäßig verwendet, es unterstützt auch andere 1.2-Funktionen wie "0o" für Oktale. (Disclaimer: Ich bin "sie", auf die Sie sich beziehen). – Anthon
@ Anthon: Ich meinte, dass in YAML 1.2 gibt es keine sexagecimals, nicht im Paket ofc –