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 :

creer un script en python et passage de paramètre


Sujet :

Python

  1. #1
    Membre éclairé Avatar de étoile de mer
    Profil pro
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    978
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 978
    Par défaut creer un script en python et passage de paramètre
    Hello,

    Je suis débutant en python, et j'ai crée mon tout premier programme python en utilisant notebook jupyter.
    J'ai crée deux dataframes de cette forme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    df_equipment = pd.read_csv('C:/Users/Demonstrator/Downloads/New1.csv',delimiter=';', parse_dates=[0], infer_datetime_format = True)
    df_energy2=pd.read_csv('C:/Users/Demonstrator/Downloads/New2.csv', delimiter=';', parse_dates=[0], infer_datetime_format = True)
    Mon chef m'a demandé de passe tout en .py et de rndre tout parametrisable, du coup je chercher comment creer un mail et passer New1.csv et New2.csv en parametre (ligne de commande)

    Une idée svp ?


    Merci

  2. #2
    Membre émérite

    Homme Profil pro
    Ingénieur
    Inscrit en
    Août 2010
    Messages
    662
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Août 2010
    Messages : 662
    Par défaut
    Salut,

    Pour
    rendre tout paramétrable
    il faut penser fonction. Comme par exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    def read_news(path, filename):
        df = pd.read_table(
            # Build the absolute path to the news file
            os.path.join(path, filename),
            delimiter=';',
            parse_dates=[0],
            infer_datetime_format=True,
            )
        return df
     
    news_df = read_news('C:/Users/Demonstrator/Downloads', 'New1.csv')
    A adapter. Si les news sont toujours au même endroit, autant ne conserver qu'un seul argument par exemple.

    Pour ce qui est de pouvoir lancer son script en ligne de commande, la méthode la plus simple est encore de passer par le module 'sys'. L'idée est de faire quelque chose comme:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    python monscript.py path filename
    'filename' est un argument.

    On peut faire cela comme ceci (à mettre à la fin du script):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    if __name__ == '__main__':
     
        import sys
     
        news_df = read_news(sys.argv[1], sys.argv[2])
    Toute la magie se trouve dans 'sys.argv' qui contient les arguments passés lorsqu'on fait dans une console 'python monscript.py arg1 arg2...'. Il faut savoir qu'il y a toujours au moins un argument de passé, même si on n'en indique pas, qui est le chemin où se trouve python. Ainsi le premier argument passé par l'utilisateur (arg1) sera en fait le deuxième dans la liste (ou tuple je ne sais plus) sys.argv, d'où sys.argv[1] pour récupérer le chemin.
    C'est très basique ici dans cet exemple. Pas de gestion des erreurs. On peut aller plus loin en utilisant un module pour gérer les arguments bien mieux qu'en le faisant à la "main" comme ici. Le module argparse est très bien pour cela.

    Ju

Discussions similaires

  1. Réponses: 0
    Dernier message: 29/01/2010, 14h13
  2. script sql et passage de paramètres
    Par fguigui dans le forum Oracle
    Réponses: 8
    Dernier message: 03/11/2006, 15h58
  3. Réponses: 3
    Dernier message: 10/05/2006, 18h40
  4. Aider un novice à créer un script ssh
    Par Thierry8 dans le forum Réseau
    Réponses: 2
    Dernier message: 24/03/2006, 08h33
  5. Créer un script de déploiement de logiciel
    Par Le gogole dans le forum Linux
    Réponses: 1
    Dernier message: 25/02/2006, 08h56

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