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 :

comment marche argparse?


Sujet :

Python

  1. #1
    Nouveau candidat au Club
    Femme Profil pro
    etudiante
    Inscrit en
    Octobre 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : etudiante

    Informations forums :
    Inscription : Octobre 2014
    Messages : 2
    Par défaut comment marche argparse?
    Bonjour,

    J'ai lu la doc sur argparse mais je ne comprends pas du tout comment ca marche. Pouvez-vous m'expliquer et me donner des exemples svp ?
    merci

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

    La documentation Python vient avec un tuto sur argparse.
    Explications et exemples sont là, enfin pour commencer.
    Après si vous avez des soucis particuliers...

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

  3. #3
    Nouveau candidat au Club
    Femme Profil pro
    etudiante
    Inscrit en
    Octobre 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : etudiante

    Informations forums :
    Inscription : Octobre 2014
    Messages : 2
    Par défaut
    justement j'ai regardé la doc mais je ne comprends pas.. Je ne vois pas à quoi sa sert

    Par contre merci pour les Cours et tutoriels pour apprendre la programmation Python , surtout celui la est génial : Apprendre à programmer avec Python 3 par Gérard Swinnen

  4. #4
    Expert confirmé
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 044
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 4 044
    Par défaut
    Que peut-on expliquer de plus que des tutoriels ? Voici un tutoriel en français, mais la prochaine fois faite une recherche, vous gagnerez du temps.

  5. #5
    Expert confirmé
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 486
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2007
    Messages : 4 486
    Billets dans le blog
    6
    Par défaut
    Bonjour,

    Citation Envoyé par s13011398 Voir le message
    Je ne vois pas à quoi sa sert
    Ça sert à gérer correctement les arguments passés dans les lignes de commande au lancement des programmes Python dans une console.

    Et ça marche très bien! Mais je me rappelle que la 1ère fois, j'ai ramé un moment avant de comprendre comment l'utiliser.

    Voilà un petit exemple issu d'un de mes programmes (un petit éditeur de texte):

    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
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    #!/usr/bin/python
    # -*- coding: utf-8 -*-
    # Python 3
     
    import sys
     
    #############################################################################
    def apropos():
        print("à propos du logiciel")
     
    #############################################################################
    def version():
        print("version du logiciel! 1.0.0")
     
    #############################################################################
    def main():
        global dargs
        print(dargs['fichier'])
        print(dargs['encod'])
     
    #############################################################################
    if __name__ == "__main__":
     
        import argparse
     
        # création du parse des arguments
        parser = argparse.ArgumentParser(description="Editeur")
     
        # déclaration et configuration des arguments
        parser.add_argument('fichier', nargs='?', type=str, action="store", default="", help="fichier à ouvrir")
        parser.add_argument('-e', '--encod', type=str, default="", help="encodage du fichier")
        parser.add_argument('-a', '--about', action='store_true', default=False, help="A propos du logiciel")
        parser.add_argument('-v', '--version', action='store_true', default=False, help="Version du logiciel")
     
        # dictionnaire des arguments
        dargs = vars(parser.parse_args())
     
        # print(dargs) # affichage du dictionnaire pour mise au point
     
        if dargs['about']:
            apropos()
            sys.exit()
     
        if dargs['version']:
            version()
            sys.exit()
     
        main()
    Exemples d'appel du programme qui se nomme, par exemple, editeur.py:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    editeur.py toto.txt
     
    editeur.py toto.txt -e utf-8
     
    editeur.py -a
     
    editeur.py -v
     
    editeur.py -h
    La dernière ligne donne un chouette résultat: il s'affiche un "help" assez explicite:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    usage: editeur.py [-h] [-e ENCOD] [-a] [-v] [fichier]
     
    Editeur
     
    positional arguments:
      fichier               fichier à ouvrir
     
    optional arguments:
      -h, --help             show this help message and exit
      -e ENCOD, --encod ENCOD
                                encodage du fichier
      -a, --about           A propos du logiciel
      -v, --version         Version du logiciel
    Sur la base de cet exemple, essaie ensuite d'ajouter des options jusqu'à ce que tu arrives à ce que tu souhaites.

Discussions similaires

  1. comment marche fftw???
    Par aider une débutante dans le forum Bibliothèques
    Réponses: 3
    Dernier message: 11/11/2007, 10h33
  2. Comment marche les Skybox?
    Par wystan dans le forum OpenGL
    Réponses: 6
    Dernier message: 17/07/2006, 13h40
  3. Comment marche une ancre ?
    Par philippe du web dans le forum Balisage (X)HTML et validation W3C
    Réponses: 16
    Dernier message: 08/06/2006, 08h23
  4. Comment marche un union ?
    Par Fredri dans le forum Access
    Réponses: 4
    Dernier message: 10/01/2006, 17h46
  5. Comment marche GlutSwapBuffers() ?
    Par Sloughidog dans le forum OpenGL
    Réponses: 2
    Dernier message: 29/09/2002, 14h45

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