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 :

exécuter un programme en CLI sur ubuntu avec des paramètres [Python 3.X]


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2022
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2022
    Messages : 12
    Par défaut exécuter un programme en CLI sur ubuntu avec des paramètres
    Bonjour je n'arrive pas à trouver un moyen d'exécuter un programme en CLI (command line interface) sur ubuntu,
    par exemple il faudrait que je puisse lancer un programme en utilisant la commande suivante sur ubuntu :

    python3 cli.py
    python3 cli.py -h

    Si je peux avoir un exemple de code, merci.

  2. #2
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2022
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2022
    Messages : 12
    Par défaut image de mon code qui se lance pas
    quand je fais python3 projPYTHON.py yo, rien ne se passe

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    import sys
     
    def checkargs() :
        if (sys.argv[0] == 'yo') :
            print("salut")
        else :
            print ("Dit moi yo")
     
    if __name__ ==  '__main__' :
        checkargs()

  3. #3
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 835
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 835
    Billets dans le blog
    1
    Par défaut
    Bonjour
    Citation Envoyé par RyanChe Voir le message
    par exemple il faudrait que je puisse lancer un programme en utilisant la commande suivante sur ubuntu :

    python3 cli.py
    python3 cli.py -h

    Si je peux avoir un exemple de code, merci.
    Si tu avais cherché un minimum...
    Code python : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    #!/usr/bin/env python3
     
    import getopt
    import sys
     
    (optlist, args)=getopt.getopt(sys.argv[1:], "ha:")
    print(optlist)
    print(args)
    Tu appelles ce programme tout d'abord sans rien, puis avec l'option "-h", puis avec l'option "-a toto", puis avec les options "-h" et "-a toto", puis avec "-ha toto" ; et tu regardes à chaque fois ce qui se passe.
    Eventuellement à chacun de ces tests tu peux y rajouter à chaque fois un argument en fin de ligne (exemple ... -a toto 123).

    Citation Envoyé par RyanChe Voir le message
    quand je fais python3 projPYTHON.py yo, rien ne se passe

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    import sys
     
    def checkargs() :
        if (sys.argv[0] == 'yo') :
            print("salut")
        else :
            print ("Dit moi yo")
     
    if __name__ ==  '__main__' :
        checkargs()
    Normal, "yo" se trouve dans argv[1] !!! argv[0] c'est le nom du programme. Ca ne te serait pas venu à l'esprit d'afficher sys.argv juste pour voir ?...
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  4. #4
    Membre Expert
    Avatar de MPython Alaplancha
    Homme Profil pro
    Paysan à 3 francs six sous
    Inscrit en
    Juin 2018
    Messages
    923
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Paysan à 3 francs six sous
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Juin 2018
    Messages : 923
    Billets dans le blog
    8
    Par défaut
    Citation Envoyé par RyanChe Voir le message

    Si je peux avoir un exemple de code, merci.
    Bonjour,
    Un exemple avec Argparse: https://docs.python.org/fr/3/howto/argparse.html
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    import argparse
    parser = argparse.ArgumentParser()
    parser.add_argument("mon_arg", help="'yo' est l'argument attendu!")
    args = parser.parse_args()
    if args.mon_arg == 'yo':
        print('yo mon gars!')
    else:
        print('je veux pour argument "yo"')
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    >>python3 /tmp/bid.py --help
    usage: bid.py [-h] mon_arg
     
    positional arguments:
      mon_arg     'yo' est l'argument attendu!
     
    optional arguments:
      -h, --help  show this help message and exit
    >>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    >python3 /tmp/bid.py yep
    je veux pour argument mon "yo"
    >
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    >python3 /tmp/bid.py yo
    yo mon gars!
    >
    Note: tu peux appeler ton script directement comme n'importe quelle commande du shell (sans écrire python3 mon_prog) en rendant celui_ci exécutable (chmod +x mon_prog) + ajout du shebang python en première ligne du script . (Il faut bien entendu qu'il soit trouvé par le path...)

  5. #5
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2022
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2022
    Messages : 12
    Par défaut
    merci beaucoup pour vos réponses j'ai bien avancé et découvert plusieurs manières de faire !

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 30/05/2011, 18h22
  2. Réponses: 2
    Dernier message: 13/09/2008, 19h49
  3. Installation extensions pour php-cli sur serveur avec PHP/apache
    Par BobLunique dans le forum Applications et environnements graphiques
    Réponses: 1
    Dernier message: 12/02/2008, 17h27
  4. Erreur lors de l'installation de JDEE sur Ubuntu avec Synaptic
    Par zafo dans le forum EDI et Outils pour Java
    Réponses: 3
    Dernier message: 07/02/2008, 13h19
  5. Le Wifi sur Ubuntu avec une clé Netgear
    Par brunoperel dans le forum Réseau
    Réponses: 3
    Dernier message: 09/12/2007, 21h44

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