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 crée un argument python?


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2021
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2021
    Messages : 13
    Par défaut Comment crée un argument python?
    Bonjour,

    Je suis en train de programmer un oscilloscope et pour cela j'ai crée 2 scripts et plusieurs fichier.SET.
    Et j'aimerais les rendre paramétrable c'est a dire les faire passer en argument mais je ne sais pas trop comment m'y prendre.

    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
    import pyvisa
    import time
     
    rm = pyvisa.ResourceManager()
    (type(rm.list_resources()))
     
    laliste = rm.list_resources()
     
    for  unelement in laliste:
        (unelement)
        scope = rm.open_resource(unelement)
     
     
        print(scope.query('*IDN?'))
     
    scope.timeout = 100000
    scope.read_termination = '\n'
    scope.write_termination = '\n'
     
     
     
    f = open('C:\\Users\\stagiaire\\Desktop\\Stage_El_harrani\\oscilloscope\\script python py\\comparaison.set')
     
     
    fileArray = f.read().splitlines();
    for f in fileArray:
        linesArray = f.split(";");
        for idx,l in enumerate(linesArray):
            if(l != ''):
                if(idx == 0):
                    splitedData = l.split(" ");
                    structure = splitedData[0];
     
                    scope.write(structure + " " + splitedData[1]);
     
                else:
                    splitedData = linesArray[0].split(" ");
                    path = splitedData[0].split(":")[:-1];
                    structure = ":".join(path) + ":" + l.split(" ")[0];
     
                    scope.write(structure + " " + l.split(" ")[1]);
    Voici le code que j'ai réaliser. J'ai eu a utiliser pyvisa https://pyvisa.readthedocs.io/en/lat...unication.html mais je ne pense pas que vous ayez besoin d'avoir des informations dessus car la ligne que je veux rendre parametrable est :
    f = open('C:\\Users\\stagiaire\\Desktop\\Stage_El_harrani\\oscilloscope\\script python py\\comparaison.set')

    J'aimerais crée un fichier c++ qui appellerais ce script avec une bibliothèque choisie. Je sais comment appeler le script et l'executer mais du coup le fichier.SET est toujours le même et j'aimerais en faire un argument si c'est possible.

    Je mets en PJ une fichier.SET (j'ai recopier le fichier.SET dans untxt parce que le forum ne les prend pas en compte) ainsi que le code c++ pour appeler le script.

    Merci à vous
    Fichiers attachés Fichiers attachés

  2. #2
    Membre éclairé
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Juin 2018
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aube (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juin 2018
    Messages : 29
    Par défaut
    Pour une gestion simple d'arguments, sys.argv peut suffir

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    import sys
     
    arg = sys.argv[1]
    print(arg)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $ python3 script.py mon_fichier
    mon_fichier
    Pour faire quelque chose de plus complexe (et plus joli), voir argparse

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    import argparse
    parser = argparse.ArgumentParser()
    parser.add_argument('--config', dest="fichier_config")
     
    arg = parser.parse_args()
    print(arg)
    print(arg.fichier_config)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $ python3 script.py --config mon_fichier
    Namespace(fichier_config='mon_fichier')
    mon_fichier

  3. #3
    Membre averti
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2021
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2021
    Messages : 13
    Par défaut
    J'ai donc ajouté à mon code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    import sys
     
    arg = sys.argv[1]
    print(arg)
    et écrit sur l'invite de commande:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $ python3 code_fini.py comparaison.SET

    Mais voici le message d'erreur:
    C:\Users\stagiaire>$ python3 code_fini.py comparaison.SET
    '$' n’est pas reconnu en tant que commande interne
    ou externe, un programme exécutable ou un fichier de commandes.

  4. #4
    Expert confirmé
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Décembre 2008
    Messages
    4 211
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 4 211
    Par défaut
    hello,
    Citation Envoyé par heh__ Voir le message
    Mais voici le message d'erreur:
    C:\Users\stagiaire>$ python3 code_fini.py comparaison.SET
    '$' n’est pas reconnu en tant que commande interne
    ou externe, un programme exécutable ou un fichier de commandes.
    dans une invite de commande windows il ne faut pas mettre de $ avant la commande
    Ceci devrait mieux fonctionner :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    python3 code_fini.py comparaison.SET
    Ami calmant, J.P

  5. #5
    Membre averti
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2021
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2021
    Messages : 13
    Par défaut
    Bonjour merci à toi mais ça n'a toujours pas l'air de fonctionner, voici le message d'erreur:
    C:\Users\stagiaire>python3 code_fini.py comparaison.SET
    Python est introuvable. ExÚcutez sans argument pour procÚder Ó l

  6. #6
    Membre éclairé
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Juin 2018
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aube (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juin 2018
    Messages : 29
    Par défaut
    Hop!

    Désolé, je t'ai indiqué les commandes linux (uniquement pour montrer les effets du code, c'est à adapter pour windows. Je ne me souvenait plus de ce qu'est le prompt sous windows, et la commande est sûrement simplement python et non python3, comme tu dois le faire d'habitude.

Discussions similaires

  1. Comment créer une aplet python
    Par acieroid dans le forum Interfaçage autre langage
    Réponses: 10
    Dernier message: 03/02/2006, 11h13
  2. Comment passer des argument a un script php ?
    Par Florina dans le forum Linux
    Réponses: 2
    Dernier message: 11/12/2005, 14h38
  3. [EXCEL]Comment crée t'on un header, une rupture ?
    Par elitost dans le forum Excel
    Réponses: 2
    Dernier message: 18/11/2005, 00h03
  4. Comment passer les arguments à un script perl
    Par belgampaul dans le forum Langage
    Réponses: 4
    Dernier message: 06/08/2005, 12h52
  5. comment crée un .jar
    Par bizerta dans le forum JBuilder
    Réponses: 2
    Dernier message: 22/06/2005, 21h11

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