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

Interfaçage autre langage Python Discussion :

inclure du python dans un script shell


Sujet :

Interfaçage autre langage Python

  1. #1
    Candidat au Club
    Femme Profil pro
    Inscrit en
    Juin 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juin 2011
    Messages : 4
    Points : 2
    Points
    2
    Par défaut inclure du python dans un script shell
    Bonjour,

    Je souhaiterai introduire des commandes python dans un script shell.
    Je sais que cela peut se faire de la façon suivante : python -c cmd
    Mon problème est que si j'utilise cette méthode le code python est "indépendant" du script qui s'exécute alors que je voudrai les faire communiquer.
    En quelque sorte je souhaiterai pouvoir passer une commande python et récupérer le résultat dans mon script.

    en vous remerciant d'avance pour votre aide

  2. #2
    Expert éminent
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    3 784
    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 : 3 784
    Points : 7 043
    Points
    7 043
    Par défaut
    tu écris les résultats de ta commande python dans un fichier et tu le récupère avec ton script bash, non?
    Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
    La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)

  3. #3
    Candidat au Club
    Femme Profil pro
    Inscrit en
    Juin 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juin 2011
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    En fait mon problème est le suivant
    j'ai une API distante en python qui fonctionne grâce à la libraire xmlrpc
    Dans une grande majorité des cas il s'agit de programmes python qui l'utilise donc pas de problème. Mais dans certains cas j'ai des scripts shell qui peuvent avoir besoin d'utiliser l'api. je souhaiterai savoir si c'est possible de faire quelque chose ou pas ?

    merci d'avance

  4. #4
    Membre à l'essai
    Homme Profil pro
    Ingénieur-Chercheur
    Inscrit en
    Février 2010
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur-Chercheur
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2010
    Messages : 12
    Points : 16
    Points
    16
    Par défaut
    Bonjour,

    Je ne comprends pas trop votre problème en regard de l'utilisation de Python.

    Quelles sont les données que vous devez échanger au sein de votre script ?

    La solution donnée par fred1599 est la plus simple et la plus efficace à mon avis, en redirigeant les entrées/sorties si nécessaire (éventuellement vous pouvez passer par des pipes pour enchaîner des commandes si vous êtes sous Linux, mais cela revient au même).

    Cela est plus un problème d'écriture/programmation d"un script shell qui n'est pas lié à l'utilisation de commandes Python, ce même problème se pose pour l'appel à un autre script, à un exécutable (écrit en C, par ex.).

    Une autre solution est aussi de transformer votre script shell en un script Python qui permettra de "mieux gérer" les appels aux autres Python.
    Cela dépend du temps que vous disposez pour mettre au point votre script (avec un peu de temps c'est celle que je choisirais et avec de grandes chances que le script écrit soit portable).

    Cordialement,

  5. #5
    Candidat au Club
    Femme Profil pro
    Inscrit en
    Juin 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juin 2011
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Merci pour vos réponse

    Ma dernière solution était en effet de réécrire les scripts shell en python, je crois que c'est ce que je vais faire. Je vois pas comment je peut m'en sortir autrement

    encore merci

  6. #6
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 240
    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 240
    Points : 36 696
    Points
    36 696
    Par défaut
    Salut,

    j'ai une API distante en python qui fonctionne grâce à la libraire xmlrpc
    XMLRPC "masque" le langage de programmation dans lequel à été écrite "la chose" derrière l'API.

    En gros, vous ouvrez une connexion au serveur et vous lui envoyez des documents XML (du texte) avec "dedans" des instructions et des paramètres "conformes" à l'API... Puis la chose vous répond avec un document XML qui faudra décortiquer pour tester le retour, extraire une liste,...

    La difficulté est de trouver une "bibliothèque" ou de construire soit même le code qui vous permettra de simplifier l'écriture du dialogue en XMLRPC (avec n'importe quoi).

    Une illustration est ici

    Dans une grande majorité des cas il s'agit de programmes python qui l'utilise donc pas de problème. Mais dans certains cas j'ai des scripts shell qui peuvent avoir besoin d'utiliser l'api. je souhaiterai savoir si c'est possible de faire quelque chose ou pas ?
    Si c'est quelque chose qui est destiné à durer ou à évoluer... il pourrait être judicieux de "profiler" l'API pour qu'elle puisse être utilisable depuis bash (i.e. bash ne sait même plus qu'il parle XMLRPC seul une petite couche "python", le profiling le sait.
    L'idée pourrait être de mettre à plat l'API pour qu'on puisse l'utiliser en ligne de commande, le profiling se chargeant de mettre la chose en forme côté XML.
    Bon courage,
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

Discussions similaires

  1. Connexion root dans un script shell ou C
    Par arno29 dans le forum Linux
    Réponses: 6
    Dernier message: 20/06/2006, 17h24
  2. Appel d'un programme C dans un script shell
    Par Spacy_green dans le forum Linux
    Réponses: 6
    Dernier message: 01/06/2006, 14h01
  3. Inclure vi dans un script shell
    Par PierrotY dans le forum Linux
    Réponses: 3
    Dernier message: 18/05/2006, 10h28
  4. Programme en C dans un script shell
    Par am.adnane dans le forum Linux
    Réponses: 1
    Dernier message: 05/02/2006, 18h57
  5. Syntaxe dans un script shell
    Par cubepiege dans le forum Linux
    Réponses: 5
    Dernier message: 27/09/2005, 17h21

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