objectif
Lire et écrire du YAML en évitant l’exécution arbitraire.
code minimal
import yaml # pip install pyyaml
doc = "name: Ada\nage: 36\nskills:\n - math\n - logic\n"
data = yaml.safe_load(doc)
out = yaml.safe_dump(data, sort_keys=True)
print(data["name"]) # attendu: Ada
utilisation
import yaml
data = {"a": 1, "b": [2, 3]}
s = yaml.safe_dump(data)
print(isinstance(s, str) and "a:" in s)
variante(s) utile(s)
import yaml
# conserver l'ordre d'insertion (PyYAML 6+)
s = yaml.safe_dump({"x":1, "y":2}, sort_keys=False)
print("x:" in s and "y:" in s)
notes
- Utilisez safe_load, pas load, pour éviter les objets arbitraires (sécurité).
- YAML n’a pas d’ordre garanti par défaut; contrôlez sort_keys.