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 :

Aide pour lire un fichier .cfg et récupérer le contenu pour l'utiliser en paramètre [Python 3.X]


Sujet :

Python

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 3
    Par défaut Aide pour lire un fichier .cfg et récupérer le contenu pour l'utiliser en paramètre
    Bonjour,
    Je débute en python j'ai besoin de passer 2 valeurs paramètres dans un appel de programme d'un logiciel.

    J'ai créé un fichier batch.cfg de ce type:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    [LOGIN]
    User=mon_user
    Passw=monpassw
    J'y ai associé le code suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    #!/usr/bin/env python
    # -*- Encoding: utf-8 -*-
    import os
    import configparser
    config = configparser.ConfigParser()
    config.read('batch.cfg')
    Parm1=config.get('LOGIN','User')
    Parm2=config.get('LOGIN','Passw')
     
    # run batch 1
    os.chdir("E:\toto\")
    os.system("toto.exe Parm1 Parm2 1") # --> le 1 étant le N° du batch dans le logiciel
    À l’exécution j'ai l'erreur suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    File "C:\Program Files (x86)\Python35-32\lib\configparser.py", line 1135, in _unify_values
        sectiondict = self._sections[section]
    KeyError: 'LOGIN'
    
    During handling of the above exception, another exception occurred:
    
    Traceback (most recent call last):
      File "E:\SHARE\TOOLS\INDUS\BATCH_LAUNCHERS\BATCH_1.py", line 7, in <module>
        Parm1=config.get('LOGIN','User')
      File "C:\Program Files (x86)\Python35-32\lib\configparser.py", line 778, in get
        d = self._unify_values(section, vars)
      File "C:\Program Files (x86)\Python35-32\lib\configparser.py", line 1138, in _unify_values
        raise NoSectionError(section)
    configparser.NoSectionError: No section: 'LOGIN'
    Pouvez-vous m'aider, je ne comprends pas pourquoi ma section n'est pas reconnue.
    Merci

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 762
    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 762
    Par défaut
    Salut,

    Le code que vous avez posté devrait fonctionner et fonctionne chez moi.

    Vérifiez plutôt 3 fois qu'une que le fichier batch.cfg lu lors de l'exécution du script contient bien ce que vous pensez.

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

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 3
    Par défaut
    Hello,
    Merci pour votre réponse.
    Le fichier cfg est dans le même répertoire que le python.

    mon arboresence est du type:
    \\monserveur\e$\SHARE\TOOLS\INDUS\batch.cfg
    \\monserveur\e$\SHARE\TOOLS\INDUS\Monpython.py

    J'ai essayé de rajoute l'arborescence j'ai la même erreur.
    Une idée?
    Merci :-)

  4. #4
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 762
    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 762
    Par défaut
    Salut,

    Citation Envoyé par Alacran Voir le message
    J'ai essayé de rajoute l'arborescence j'ai la même erreur.
    Une idée?
    Comme le fichier est petit, vous pourriez afficher son contenu via print ('***\n', open('batch.cfg').read(), '\n***') juste avant de le lire via configparser.

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

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 3
    Par défaut
    Bonjour,
    Merci pour votre aide.
    Finalement ça a finit par fonctionner comme ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    #!/usr/bin/env python
    # -*- Encoding: utf-8 -*-
    import os
    import logging
    import configparser
    config = configparser.ConfigParser()
    os.chdir("E:\Monrepertoire de python")
    config.read('batch.cfg')
    Parm1=config.get('LOGIN','User')
    Parm2=config.get('LOGIN','Passw')
    logging.error("retrieved parameters")
    # run run  batch 
    os.chdir("E:\monreprtoirede mon exe logiciel")
    os.system("toto.exe {0} {1} 1".format(Parm1,Parm2))

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 01/06/2017, 09h43
  2. [Débutant] aide pour l'utilisation de fichier
    Par steph97139 dans le forum VB.NET
    Réponses: 2
    Dernier message: 02/07/2013, 18h44
  3. Lire un fichier XML et récupérer les valeurs d'attribut
    Par dinaing dans le forum Format d'échange (XML, JSON...)
    Réponses: 10
    Dernier message: 18/06/2010, 15h53
  4. Réponses: 2
    Dernier message: 01/12/2006, 12h39
  5. Besoin d'aide pour l'utilisation de devcpp.
    Par argon dans le forum Dev-C++
    Réponses: 10
    Dernier message: 24/01/2006, 20h24

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