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 ne respecte pas l'ordre


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Octobre 2009
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 24
    Par défaut ConfigParser ne respecte pas l'ordre
    Bonjour,

    j'ai un fichier de test_conf.conf qui est écrit de la sorte:
    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
    19
     
     
    [tags_var]
     
    Ag1=0
    Ag2=0
    Ag3=0
     
    Ad1=0
    Ad2=0
    Ad3=0
     
    Bg1=0
    Bg2=0
    Bg3=0
     
    Bd1=0
    Bd2=0
    Bd3=0
    voici mon code python:

    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
     
     
    # -*- coding: iso-8859-1 -*-
    import ConfigParser   # pour lecture fichier cfg
    config = ConfigParser.RawConfigParser()
    config.read('test_conf.conf')
     
    print config.sections()
     
    mestags=[]
     
     
     
    print config.options("tags_var")
    #print config.options("tag")
    print config.items("tags_var")
     
     
    for section in config.sections():
            print "section=%-s"%section
            if section == "tags_var":
                print config.options(section)
                for option in config.options(section):
     
                    print "option=%-s"%option
                    print config.get(section,option)
                    mestags.append(option)
     
     
     
    print mestags
    et voilà le résultat :

    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
     
    C:\essai_conf> python test_conf2.py
    ['tags_var']
    ['ad2', 'ad3', 'ad1', 'bg1', 'bg2', 'bg3', 'bd1', 'bd3', 'bd2', 'ag3', 'ag2', 'a
    g1']
    [('ad2', '0'), ('ad3', '0'), ('ad1', '0'), ('bg1', '0'), ('bg2', '0'), ('bg3', '
    0'), ('bd1', '0'), ('bd3', '0'), ('bd2', '0'), ('ag3', '0'), ('ag2', '0'), ('ag1
    ', '0')]
    section=tags_var
    ['ad2', 'ad3', 'ad1', 'bg1', 'bg2', 'bg3', 'bd1', 'bd3', 'bd2', 'ag3', 'ag2', 'a
    g1']
    option=ad2
    0
    option=ad3
    0
    option=ad1
    0
    option=bg1
    0
    option=bg2
    0
    option=bg3
    0
    option=bd1
    0
    option=bd3
    0
    option=bd2
    0
    option=ag3
    0
    option=ag2
    0
    option=ag1
    0
    ['ad2', 'ad3', 'ad1', 'bg1', 'bg2', 'bg3', 'bd1', 'bd3', 'bd2', 'ag3', 'ag2', 'a
    g1']
    Ca m'embête un peu parce qu'après je dois renseigner un tableau en respectant l'ordre du fichier de conf.

    Si vous avez des pistes ?

    Merci beaucoup

  2. #2
    Membre averti
    Inscrit en
    Octobre 2009
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 24
    Par défaut
    Bon, j'ai utilisé un module externe dict4ini en utilisant une liste et ça marche.

    Par contre, comment faire avec configparser pour avoir une liste dans le fichier de conf et la retourner dans l'ordre?

  3. #3
    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
    Bonsoir,
    J'ai un peu utilisé la chose et... on peut considérer que çà nous offre une interface de type __dict__ non ordonné.
    Je vois 3 bricolages pour s'en sortir:
    1. Ajouter une clé dont la valeur et la liste des clés à lire dans leur ordre,
    2. Parcours du fichier avec une lecture "normale" pour sortir la liste,
    3. Mettre cette liste dans un fichier texte et le nom du fichier dans le fichier de config.

    Peut être qu'une bonne âme aura une idée plus satisfaisante.
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

Discussions similaires

  1. Réponses: 3
    Dernier message: 03/11/2016, 12h28
  2. [Form] GoToRecord ne respecte pas l'ordre des dates
    Par Zawawi dans le forum VBA Access
    Réponses: 3
    Dernier message: 15/11/2007, 08h22

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