IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

FAQ Python

FAQ PythonConsultez toutes les FAQ

Nombre d'auteurs : 11, nombre de questions : 188, dernière mise à jour : 14 juin 2021 

 
OuvrirSommaireGestion Fichier/RépertoireFichiers de configurationFichiers variable=valeur

La manière la plus simple de créer un fichier de configuration est la suivante: une suite de lignes "variable = valeur.
On permet d'utiliser des commentaires (##). Ceux si peuvent être soit placés en début de ligne soit après une ligne variable=valeur.

 
Sélectionnez
## Commentaire
variable1 = value1  ## commentaire1
variable2 = value2  ## commentaire2
...
Créé le 15 septembre 2005  par Guigui_

Dans le cas d'un tel type de fichiers, nous sommes obligés de lire le contenu entier du fichier. Le principe est de lire le contenu entier du fichier puis de traiter ligne par ligne.

conf.txt
Sélectionnez
## Voici un exemple d'un fichier de configuration
variable1 = 10 ## un integer
variable2 = Guigui ## un string

Voici un exemple pour récupérer les variables/valeurs. Celles-ci sont introduit dans un dictionnaire. Libre à vous ensuite de passer d'un dictionnaire à une liste de variables

 
Sélectionnez
dicoval={} ## dictionnaire dans lequel on introduit les paires variables/valeurs
path = open('conf.txt','rb') ## Ouverture du fichier de configuration en mode lecture
lignes = path.readlines() ## Récupération du contenu du fichier

## Traitement ligne par ligne
for lig in lignes: 
    sp = lig.split('#')[0] ## Elimination des commentaires potentiels 
    sp = sp.split('=') ## Séparation variable / valeur
## on teste la longueur de sp;  si elle n'est pas égale à 2, c'est qu'il s'agit d'une ligne vide ou qu'avec des commentaires    
    if len(sp)==2: dicoval[sp[0].strip()]=sp[1].strip() 
path.close() ## Fermeture du fichier de configuration

On peut ensuite traiter le dictionnaire pour pouvoir accéder directement aux variables sans passer par le dictionnaire

 
Sélectionnez
## pour un traitement automatique ou si on ne connaît pas à l'avance le nom des variables
for i in dicoval:
    exec(i + '=' + str(dicoval[i])) 
    
## si on connaît le nom des variables
variable1 = dicoval['variable1']
variable2 = dicoval['variable2']
Créé le 15 septembre 2005  par Guigui_

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2005-2009 Developpez Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site ni de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.