Developpez.com

Plus de 14 000 cours et tutoriels en informatique professionnelle à consulter, à télécharger ou à visionner en vidéo.

FAQ PythonConsultez toutes les FAQ

Nombre d'auteurs : 16, nombre de questions : 313, dernière mise à jour : 10 juillet 2017  Ajouter une question

 

Cette FAQ a été réalisée à partir des questions posées sur le forum Python complétées par d'autres questions qui pouvaient nous sembler intéressantes de traiter. Toutefois il se peut que les réponses apportées contiennent des erreurs, imprécisions ... Vous pouvez dans ce cas contacter un des membres de la rédaction pour lui faire part de vos remarques.

L'équipe Python de Developpez.


SommaireGestion Fichier/RépertoireFichiers de configurationFichiers variable=valeur (2)
précédent sommaire suivant
 

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-ci peuvent être soit placés en début de ligne soit après une ligne variable=valeur.

Code python : Sélectionner tout
1
2
3
4
## Commentaire 
variable1 = value1  ## commentaire1 
variable2 = value2  ## commentaire2 
...

Mis à jour le 15 septembre 2005 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.

Code python : Sélectionner tout
1
2
3
## 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 introduites dans un dictionnaire. Libre à vous ensuite de passer d'un dictionnaire à une liste de variables :

Code python : Sélectionner tout
1
2
3
4
5
6
7
8
9
10
11
dicoval={} ## dictionnaire dans lequel on introduit les paires variable/valeur 
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] ## Élimination 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 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 :

Code python : Sélectionner tout
1
2
3
4
5
6
7
## 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']

Mis à jour le 15 septembre 2005 Guigui_

Proposer une nouvelle réponse sur la FAQ

Ce n'est pas l'endroit pour poser des questions, allez plutôt sur le forum de la rubrique pour ça


Réponse à la question

Liens sous la question
précédent sommaire suivant
 

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 © 2017 Developpez Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et 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.

 
Contacter le responsable de la rubrique Python