Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
816 connectés 

  FORUM HardWare.fr
  Programmation
  Python

  Gestion de la configuration d'une application Python

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Gestion de la configuration d'une application Python

n°1464403
Chaos Inte​stinal
Posté le 24-10-2006 à 21:00:44  profilanswer
 

Je suis en train de faire une modeste application en Python pour la feignasse que je suis (un truc qui redimensionne des photos, les recompresse, génère les miniatures, renomme le tout et l'upload sur un FTP). Cette application n'ayant pas de GUI (je rappelle, je rappelle je suis une feignasse) et voulant éviter les lignes de commande à rallonge (jsuf) les différentes options seront régies par un fichier de conf.
 
Python propose la solution clé en main pour utiliser un fichier de conf sans trop se prendre la tête: ConfigParser.SafeConfigParser.
Wünderbar.
 
Sauf que voilà, j'ai pas vraiment envie que les détails du fichier de conf (comment sont nommées les sections et les entrées) voire même la mécanique du fichier de conf soient intimement liées à la logique de l'appli. D'où l'idée d'encapsuler tout ça dans un module séparé, voire une classe ad hoc. Ma question est simple: quelle est l'implémentation la plus adaptée à Python ?
 
- faire une classe à part qui instancie un SafeConfigParser ou dériver une classe à moi du SafeConfigParser ?
- faire des getters qui se contenteront de faire un get(section, variable) ?
- utiliser __getattr__ pour faire le get(section, variable) approprié et éviter d'écrire des getters ?
 
Je ne suis pas encore totalement en osmose avec les paradigmes du Python, alors si une âme charitable et éclairée veut bien me donner un signe, je lui en serait reconnaissant (accessoirement, j'ai pas encore beaucoup de vécu en Python, donc je préfère éviter de prendre le mauvais pli, ou encore d'appliquer tel quel ce que j'aurais fait dans un autre langage).

mood
Publicité
Posté le 24-10-2006 à 21:00:44  profilanswer
 

n°1464440
masklinn
í dag viðrar vel til loftárása
Posté le 24-10-2006 à 22:41:33  profilanswer
 

ConfigParser sert à parser des fichiers de type ini.
 
En python, à moins que tu ais absolument besoin que des utilisateurs stupides (dans le sens de "ne connaissant pas le python) puissent la modifier, tu peux parfaitement faire ton fichier de conf directement en python: un fichier conf.py, directement importable en tant que module, et baste.
 
À la limite tu valides ses structures en bout de chaîne, mais tu as directement des objets Python à gérer, pas de parsing à te bouffer.
 
Sinon, j'aime bien YAML


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1464485
Chaos Inte​stinal
Posté le 25-10-2006 à 00:02:44  profilanswer
 

Effectivement, j'avais pas pensé à la solution directement en Python.
Ca devrait être largement suffisant. A la base, c'est moi le principal utilisateur, voire même le seul, j'ai juste comme reflexe de jamais prendre comme hypothèse de base que je serai le seul utilisateur :)
 
Je vais partir sur la solution module python avec les variables directement dedans. J'avais pas pensé à YAML sur le coup, faut dire qu'un bête fichier .ini suffisait à mon bonheur.
 
Merci :)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Python

  Gestion de la configuration d'une application Python

 

Sujets relatifs
Projet gestion bdd ms-sql depuis un PDAC# et application tierce (MS-EXCEL) (résolu)
[ASP.Net] Gestion des rôlesCSS : problème d'application d'une CSS
Gestion de fichier xml par phpEcrire Paramètres Application à l'éxécution en fichier conf XML
[C#.NET] Gestion du multilingue ?[PostgreSQL - Tsearch2] Configuration du dictionnaire
[C#] Application qui tourne toutes les nuitsinstallation d'un serveur de Gestion de version (Subversion ?)
Plus de sujets relatifs à : Gestion de la configuration d'une application Python


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR