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

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

ConfigParser


Sujet :

Python

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    192
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 192
    Points : 160
    Points
    160
    Par défaut ConfigParser
    Bonjour, depuis ce matin, j'essaye de comprendre le module ConfigParser, j'ai réussi à le lire et a écrire dans un fichier .INI

    Je vous donne mon bout de code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    import ConfigParser
    import string
    config = ConfigParser.ConfigParser()
    config.read("normalize.ini")
    list_menu = [
                  ("opinstalldir", "self.opInstallDir"),
    ]
     
    for section in config.sections():
    	print section
    	for option in config.options(section):
    		values = config.get(section, option)
    		print " ", option, "=",values
    		for title, variables in list_menu:
    			if title == option:
    			variables = values
    			print variables
    dans mon normalize.ini :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    [PATH]
    opinstalldir=c:\program files\monlogiciel\
    Dans ma liste, je l'élément N°1 de mon fichier .ini, ici : opinstalldir
    et je voudrais stocker l'élément N°2 : c:\program files\monlogiciel\ dans ma variable self.opInstallDir car je l'a réutilise dans la suite de mon programme.

    Merci de votre aide

    Edit par Guigui_: pas de tag [Python]. Merci

  2. #2
    Expert éminent sénior
    Avatar de Guigui_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2002
    Messages
    1 864
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2002
    Messages : 1 864
    Points : 10 067
    Points
    10 067
    Par défaut
    J'ai pas compris où étais ton problème. Tu peux reexpliquer ?

    Est-ce que ca aurait un rapport avec la création d'une variable à partir d'une chaîne de caractère ?

    si oui: http://python.developpez.com/faq/?pa...es#GenStrDecla

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    192
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 192
    Points : 160
    Points
    160
    Par défaut
    Ok, excuse moi, je me suis mal exprimé!

    j'ai mon fichier normalize.ini


    opinstalldir=c:\
    WD=c:\certifications
    Fam=Test
    Appli=Reprise_pdf


    dans mon code python, j'utilise le module ConfigParser pour lire mon ficher .ini

    ma question est que je voudrais récuperer les chemins pour les stocker dans des variables

  4. #4
    Expert éminent sénior
    Avatar de Guigui_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2002
    Messages
    1 864
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2002
    Messages : 1 864
    Points : 10 067
    Points
    10 067
    Par défaut
    voilà donc à priori, c'est bien ce que je pensais (parce que tu n'as aucun souci pour lire ton fichier .ini), à savoir créer une variable à partir d'un string

    Une possibilité, c'est de remplacer variables = values de ton code par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    exec(variables+'='+values)
    Pour plus d'infos, le lien que j'ai fourni dans le précédent post.

  5. #5
    Membre du Club Avatar de Mr Hyde
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 80
    Points : 62
    Points
    62
    Par défaut
    Salut,

    Moi dans mon fichier ini, j'ai des espaces a cote du signe "=":
    Pour stocker ca dans une variable en python, je fais comme ca:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    	conf=ConfigParser.ConfigParser()
    	conf.read("config.ini") #il faut que ca soit dans le meme repertoire ou alors met le chemin
    	ma_variable=conf.get("Prefs","lang")
    Je sais pas si ca repond a ta question...

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    192
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 192
    Points : 160
    Points
    160
    Par défaut
    Citation Envoyé par Guigui_
    voilà donc à priori, c'est bien ce que je pensais (parce que tu n'as aucun souci pour lire ton fichier .ini), à savoir créer une variable à partir d'un string

    Une possibilité, c'est de remplacer variables = values de ton code par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    exec(variables+'='+values)
    Pour plus d'infos, le lien que j'ai fourni dans le précédent post.
    merci beaucoup, ça marche cependant je dois mettre values entre quote :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    exec(variables+'='+'values')

  7. #7
    Expert éminent sénior
    Avatar de Guigui_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2002
    Messages
    1 864
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2002
    Messages : 1 864
    Points : 10 067
    Points
    10 067
    Par défaut
    Citation Envoyé par t_om84

    merci beaucoup, ça marche cependant je dois mettre values entre quote :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    exec(variables+'='+'values')
    à cause du "program files" ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    exec(variables+'="'+values+'"')

  8. #8
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    192
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 192
    Points : 160
    Points
    160
    Par défaut
    Citation Envoyé par Guigui_
    Citation Envoyé par t_om84

    merci beaucoup, ça marche cependant je dois mettre values entre quote :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    exec(variables+'='+'values')
    à cause du "program files" ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    exec(variables+'="'+values+'"')
    je ne sais pas, sans les quotes, j'avais une erreur de string,
    docn oui je pense que ça vient de là!

  9. #9
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    192
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 192
    Points : 160
    Points
    160
    Par défaut
    j'ai une petite question encore concernant le ConfigParser

    Est-on obligé d'avoir des sections dans mon fichier de config?

    Merci

  10. #10
    Expert éminent sénior
    Avatar de Guigui_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2002
    Messages
    1 864
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2002
    Messages : 1 864
    Points : 10 067
    Points
    10 067
    Par défaut
    Je pense que oui (tu peux toujours mettre une section vide [] pour dépanner)

    si tu veux un fichier de conf où il n'y a pas de section (mais c'est moins pratique que le configparser):
    http://python.developpez.com/faq/?page=ConfigValue

  11. #11
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    192
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 192
    Points : 160
    Points
    160
    Par défaut
    merci, c'est vrai que c'est pas évident avec le ConfigValue, mais je vais testé pour apprendre!!

    Merci Beaucoup!

  12. #12
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    192
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 192
    Points : 160
    Points
    160
    Par défaut
    Bon voilà, mon problème est résolu! Merci beaucoup de ton aide!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [ConfigParser] Problème d'écriture
    Par GuyLou59 dans le forum Général Python
    Réponses: 4
    Dernier message: 06/05/2010, 14h10
  2. ConfigParser ne respecte pas l'ordre
    Par tbar403 dans le forum Général Python
    Réponses: 2
    Dernier message: 15/01/2010, 21h20
  3. Équivalent de ConfigParser de Python
    Par dxavier dans le forum Bibliothèques
    Réponses: 3
    Dernier message: 06/11/2009, 15h34
  4. ConfigParser et ses fonctions
    Par adidas40 dans le forum Général Python
    Réponses: 6
    Dernier message: 26/04/2009, 14h49
  5. ConfigParser : Valeur sur plusieurs lignes ?
    Par DrTank dans le forum Général Python
    Réponses: 2
    Dernier message: 21/04/2008, 17h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo