Maison >développement back-end >Tutoriel Python >HOCON - secret derrière les fichiers .conf

HOCON - secret derrière les fichiers .conf

Susan Sarandon
Susan Sarandonoriginal
2024-12-28 01:25:17689parcourir

HOCON - secret behind .conf files

HOCON (Human-Optimized Config Object Notation) est un format de configuration flexible et convivial souvent utilisé dans les fichiers .conf. Il s'appuie sur JSON mais introduit plusieurs améliorations qui le rendent plus lisible par l'homme et plus facile à utiliser.

Caractéristiques principales :

  • Simplicité de la syntaxe : HOCON permet une syntaxe assouplie : Les virgules entre les champs sont facultatives. Les guillemets ne sont pas toujours obligatoires autour des clés ou des chaînes.
  • Héritage : il prend en charge la fusion et l'héritage de configurations, permettant les remplacements ou les extensions des configurations de base.
  • Commentaires : contrairement à JSON, HOCON prend en charge les commentaires (# ou //), ce qui facilite la documentation des fichiers.
  • Substitutions : il permet la substitution de variables à l'aide d'espaces réservés (${}) pour les configurations dynamiques.
  • Concision : prend en charge les chaînes multilignes, les clés sans guillemets et les définitions d'objets compacts.
  • Extensibilité : s'intègre facilement à des outils comme la bibliothèque Typesafe Config, souvent utilisée dans les applications Scala et Java, en particulier avec des frameworks comme Akka et Play.

Pour interagir avec les fichiers .conf en python - vous avez besoin de la bibliothèque pyhocon

pip installer pyhocon

Vous trouverez ci-dessous l'exemple de code pour créer des fichiers de configuration lors de l'exécution

from pyhocon import ConfigFactory, HOCONConverter
import json

# Create a configuration object
config = ConfigFactory.parse_string("""
app {
    name = "MyApp"
    version = "1.0.0"
    features = {
        enable_feature_x = true
        enable_feature_y = false
    }
    database {
        url = "jdbc:postgresql://localhost:5432/mydb"
        user = "db_user"
        password = "db_password"
    }
}
""")

# Save the configuration to a file
with open('config.conf', 'w') as file:
    file.write(HOCONConverter.convert(config, 'hocon'))
print("HOCON file created: config.conf")

vous pouvez lire les fichiers créés comme ci-dessous

from pyhocon import ConfigFactory

# Load the configuration file
config = ConfigFactory.parse_file('config.conf')

# Access configuration values
app_name = config.get('app.name')
db_url = config.get('app.database.url')
enable_feature_x = config.get('app.features.enable_feature_x')

# Print configuration values
print(f"App Name: {app_name}")
print(f"Database URL: {db_url}")
print(f"Is Feature X Enabled? {enable_feature_x}")

Le résultat sera donc comme ci-dessous

HOCON file created: config.conf
App Name: MyApp
Database URL: jdbc:postgresql://localhost:5432/mydb
Is Feature X Enabled? True
  • Vous pouvez signaler des fonctionnalités à l'aide de la gestion de la configuration.
  • Vous pouvez actualiser la configuration à intervalles périodiques ou exposer un point de terminaison d'API pour actualiser la configuration de l'application en cours d'exécution.

Lien bibliothèque : https://github.com/chimler/pyhocon

Si vous avez trouvé cela utile, faites-le moi savoir en laissant un ? ou un commentaire !, ou si vous pensez que ce post pourrait aider quelqu'un, n'hésitez pas à le partager ! Merci beaucoup! ?

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn