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 :

Lire un fichier de configuration (style *.ini) [Python 3.X]


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Touche à tout
    Inscrit en
    Mai 2017
    Messages
    479
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Allier (Auvergne)

    Informations professionnelles :
    Activité : Touche à tout

    Informations forums :
    Inscription : Mai 2017
    Messages : 479
    Par défaut Lire un fichier de configuration (style *.ini)
    Bonjour,

    J’essaie de récupérer un valeur d'un fichier *.cfg construit comme un fichier ini ([section]; 'clef=valeur')

    Lorsque je lance, j'ai l'erreur suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Traceback (most recent call last):
      File "U:\_Developpement\PYTHON\Initiation\readini.py", line 7, in <module>
        config['APPLICATION_PARAMETERS']['APPLICATION_NAME']
      File "C:\Users\xxxx\AppData\Local\Programs\Python\Python37-32\lib\configparser.py", line 958, in __getitem__
        raise KeyError(key)
    KeyError: 'APPLICATION_PARAMETERS'
    Mon fichier cfg:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    [APPLICATION_PARAMETERS]
    APPLICATION_NAME=MyTitle (V1.0.1 Released, fr) - Design by AUTHOR
    [PROMASTER_PARAMETERS]
    EMAIL_TO=toto.zero@la.tete.a.toto
    Mon fichier py:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    import os
    import configparser
     
    config = configparser.ConfigParser()
    config.read('ini/application.cfg')
    config.get('APPLICATION_PARAMETERS', 'APPLICATION_NAME')
    print(config)
    Merci par avance pour votre aide

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 741
    Par défaut
    Salut,

    Citation Envoyé par Supernatural Voir le message
    Merci par avance pour votre aide
    Ça devrait fonctionner et le test que j'ai fait fonctionne en 3.6.
    Si c'est aussi le cas pour vous, c'est un bug de la dernière version de Python.
    Et il ne sera corrigé que si vous remontez le pb aux développeurs.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Membre éclairé
    Homme Profil pro
    Touche à tout
    Inscrit en
    Mai 2017
    Messages
    479
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Allier (Auvergne)

    Informations professionnelles :
    Activité : Touche à tout

    Informations forums :
    Inscription : Mai 2017
    Messages : 479
    Par défaut
    Je viens de réussir, mas petite question: si mon fichier cfg est dans un sous-dossier j'ai une erreur. Si je met tout dans le même dossier c'est ok... Je ne comprend pas trop pourquoi...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    from configparser import ConfigParser
     
    cfg_file = ConfigParser()
    cfg_file.read('application.cfg') #Si je mets ('ini/application.cfg') j'ai une erreur...
     
    print (cfg_file.get('APPLICATION_PARAMETERS', 'APPLICATION_NAME'))

  4. #4
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 741
    Par défaut
    Citation Envoyé par Supernatural Voir le message
    si mon fichier cfg est dans un sous-dossier j'ai une erreur. Si je met tout dans le même dossier c'est ok... Je ne comprend pas trop pourquoi...
    Et bien impossible de reproduire votre problème que ce soit avec Python 3.6 ou 3.7, le fichier dans le répertoire courant ou dans un sous-répertoire.
    D'autres auront peut être plus de chance ou de patience.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  5. #5
    Membre éclairé
    Homme Profil pro
    Touche à tout
    Inscrit en
    Mai 2017
    Messages
    479
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Allier (Auvergne)

    Informations professionnelles :
    Activité : Touche à tout

    Informations forums :
    Inscription : Mai 2017
    Messages : 479
    Par défaut
    C'est bon pour la lecture du fichier dans un sous dossier, j'avais un . dans la fin du nom de mon sous-dossier...

    Merci pour votre aide

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

Discussions similaires

  1. Lire un fichier de configuration externe
    Par bouriquo92 dans le forum VB.NET
    Réponses: 4
    Dernier message: 21/04/2011, 15h05
  2. Lire un fichier de configuration
    Par Kram08 dans le forum Débuter
    Réponses: 4
    Dernier message: 30/03/2008, 15h39
  3. Lire un fichier de configuration
    Par V_R46 dans le forum C++
    Réponses: 6
    Dernier message: 05/12/2006, 00h07
  4. Réponses: 3
    Dernier message: 21/04/2006, 15h11
  5. [langage] Lire un fichier de configuration
    Par bobinoo dans le forum Langage
    Réponses: 3
    Dernier message: 04/08/2004, 15h53

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