Exemple de fichier de configuration Toml
La spécification pour Toml comprend l'utilisation de paires de valeurs clés sensibles à la casse. Les clés sont sur le côté gauche, tandis que les valeurs seront sur le côté droit; Ces termes sont séparés de chaque côté par un signe égal. Les paires de valeurs clés sont identiques à la syntaxe de déclaration variable que vous verrez dans la plupart des langages de programmation. Vous pouvez également définir des tables et des sous-tables (sections et sous-sections) dans des crochets pour garder les paires de valeurs clés organisées pour une logique et une application d'analyse améliorée dans vos programmes. Les valeurs peuvent être de chaînes, entiers, flotteurs, booléens, tableau et types d'heure et de date. Toml permet l'utilisation de la syntaxe de points afin que vous puissiez définir une table (section) comme «Tableau.subtetable "ou une clé comme" clé.identifiant », aussi. L'extension de fichier utilisée pour un fichier Toml est .toml. Vous trouverez ci-dessous un exemple abrégé d'un fichier Toml:
name = "jeu pc"Pour référence, le même fichier de configuration est écrit en JSON ci-dessous:
Différences entre les formats de fichiers JSON et INI
Toml est similaire aux formats JSON et INI à bien des égards, avec quelques différences qui peuvent déterminer le format de fichier que vous voudrez utiliser. Le format de fichier Toml met l'accent sur la lisibilité humaine et semble beaucoup plus propre à lire. Les fichiers INI ne prennent pas en charge les sections imbriquées et les paires de valeurs clés imbriquées. Contrairement à JSON, Toml autorise les commentaires (avec le symbole #). De longues données imbriquées dans un fichier JSON peuvent être écrites en Toml en quelques lignes seulement.
Cependant, il peut être déroutant d'identifier correctement la structure dans de longues hiérarchies imbriquées dans Toml, tandis que dans JSON, la structure est beaucoup plus claire, même si les données imbriquées peuvent apparaître verbeux. Toml est principalement conçu pour les fichiers de configuration et non pour les grands ensembles de données structurés, tandis que JSON convient à toute échelle de données structurées.
Le module Python Toml
Les bibliothèques standard de Python n'ont actuellement aucun support pour l'analyse des données Toml, au moment de la rédaction de cet article. Cela peut changer après Toml version 1.0.0 est libéré. Pour le moment, vous devrez utiliser un module Python tiers appelé Toml. Vous pouvez installer ce module dans Ubuntu en utilisant l'une des commandes ci-dessous:
$ sudo apt installer python3-tomlAnalyse d'un fichier Toml à l'aide du module Python Toml
Analyser un fichier Toml à l'aide du module Python3-Toml est assez simple. Vous pouvez soit utiliser le «Toml.Méthode de chargement pour analyser le fichier entier, ou vous pouvez utiliser le «Toml.Méthode des charges pour analyser toute paire de valeurs clés formatées Toml spécifiques. En supposant une «données.Le fichier Toml ”contient les chaînes formatées Toml mentionnées dans l'exemple ci-dessus, le code ci-dessous analyse et imprimera les données Toml en tant que dictionnaire Python:
#!/ usr / bin / env python3L'exécution du code ci-dessus produira la sortie suivante:
'Name': 'PC Game', 'Default': 'Profil_name': 'Profil', 'Player_name': 'Player',Maintenant que vous avez un objet de dictionnaire Python, vous pouvez implémenter toute logique de votre programme pour gérer les données du dictionnaire.
Découper un dictionnaire Python sous forme de données formatées Toml
Un dictionnaire Python peut être jeté dans des cordes à formater Toml en utilisant le «Toml.Méthode des vidages, ou l'objet peut être jeté dans un fichier à l'aide de «Toml.Méthode Dump ». L'exemple ci-dessous convertira un objet de dictionnaire Nito Toml Formated Strings:
#!/ usr / bin / env python3L'exécution du code ci-dessus produira la sortie suivante:
name = "jeu pc"Pour convertir un objet de dictionnaire en une chaîne formatée Toml et la stocker dans un fichier, vous pouvez utiliser le «Toml.Dump (dictionary_object, output_file) ”Méthode.
Conclusion
Un fichier Toml en termes plus simples n'est qu'un fichier de configuration INI avec une meilleure structure et une meilleure syntaxe, facilitant l'analyse plus facile et une meilleure lisibilité. Le format de fichier Toml est souvent comparé au format de fichier JSON, mais en dehors de son utilisation dans les fichiers de configuration, Toml n'a pas beaucoup d'utilité. JSON, en revanche, est beaucoup plus polyvalent et peut être utilisé dans différents cas d'utilisation nécessitant n'importe quel type de structure de données.