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 :

réunir deux lignes de commande


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Superviseur de Hotline
    Inscrit en
    Septembre 2016
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Superviseur de Hotline
    Secteur : Bâtiment

    Informations forums :
    Inscription : Septembre 2016
    Messages : 34
    Par défaut réunir deux lignes de commande
    Bonjour,

    j' ai cette commande (1) qui lance une connexion sur une passerelle et j' aimerais qu' a la suite de cette connexion s' effectue la commande (2) suivante automatiquement

    (1) os.popen("start plink -v -x -a -T -C -noagent -ssh -L 127.0.0.1:2001:10.2.61.2:22 login@10.4.67.15")


    (2) os.system("putty.exe -load coldm1 ")

    auriez vous une idée ?

    Merci d' avance

  2. #2
    Membre éclairé
    Homme Profil pro
    Développeur backend (python)
    Inscrit en
    Mai 2014
    Messages
    77
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur backend (python)

    Informations forums :
    Inscription : Mai 2014
    Messages : 77
    Par défaut
    Bonjour,

    Os.popen est obsolète depuis python 2.6, utilise subprocess.popen à la place.

    Et via cette fonction, tu peux tester la valeur de retour avec la fonction wait :

    Code python : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    import subprocess
     
    p = subprocess.Popen("start plink -v -x -a -T -C -noagent -ssh -L 127.0.0.1:2001:10.2.61.2:22 login@10.4.67.15".split())
    return_value = p.wait()

    La variable return_value contiendra la valeur de retour te la commande, il faut que tu te réfère à la documentation de la commande pour savoir quelle valeur tu vas obtenir. Ensuite i reste juste à lancer la seconde commande si tu as obtenue la valeur que tu attendais.

  3. #3
    Membre averti
    Homme Profil pro
    Superviseur de Hotline
    Inscrit en
    Septembre 2016
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Superviseur de Hotline
    Secteur : Bâtiment

    Informations forums :
    Inscription : Septembre 2016
    Messages : 34
    Par défaut
    j'ai le message d' erreur suivant :

    return self.func(*args)
    File "E:\programation\progs\arret_plink_paramiko_mdp_v1\version_fonctionnelle_mpd_plink\module_gepex_v1.py", line 77, in tun_ssh_colweb
    p = subprocess.Popen("start plink -v -x -a -T -C -noagent -ssh -L 127.0.0.1:2001:10.2.61.2:22 login@10.4.67.15".split())
    File "C:\Python27\lib\subprocess.py", line 390, in __init__
    errread, errwrite)
    File "C:\Python27\lib\subprocess.py", line 640, in _execute_child
    startupinfo)
    WindowsError: [Error 2] Le fichier spécifié est introuvable

    peut étre est ce du au fait que je travail sous Python 2.7 ? car le subprocess.py est bien présent

  4. #4
    Membre éclairé
    Homme Profil pro
    Développeur backend (python)
    Inscrit en
    Mai 2014
    Messages
    77
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur backend (python)

    Informations forums :
    Inscription : Mai 2014
    Messages : 77
    Par défaut
    Je boss sur python 2.7 et ça fonctionne très bien chez moi. Après je bosse sur linux.

    La commande que tu lances fonctionne bien quand tu la lances à la main dans l'invite de commande à l'emplacement ou tu lances ce script?

  5. #5
    Membre averti
    Homme Profil pro
    Superviseur de Hotline
    Inscrit en
    Septembre 2016
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Superviseur de Hotline
    Secteur : Bâtiment

    Informations forums :
    Inscription : Septembre 2016
    Messages : 34
    Par défaut
    quand je lance subprocess.Popen cela me répond <class 'subprocess.Popen'>

  6. #6
    Membre éclairé
    Homme Profil pro
    Développeur backend (python)
    Inscrit en
    Mai 2014
    Messages
    77
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur backend (python)

    Informations forums :
    Inscription : Mai 2014
    Messages : 77
    Par défaut
    Non je parlais de la commande que t'essaie de lancer via subprocess.Popen(). Et déjà tu peux être sûr que ça ne vient pas de la lib subprocess avec ce qu'il te renvoie. Je pense vraiment que c'est ta commande qui ne fonctionne pas.

Discussions similaires

  1. Réunir deux lignes dans un même tableau
    Par JonathanJohns dans le forum R
    Réponses: 1
    Dernier message: 24/04/2017, 19h24
  2. Réponses: 3
    Dernier message: 07/04/2003, 20h06
  3. Récuperer Arguments sur la ligne de commande ?
    Par Muetdhiver dans le forum x86 16-bits
    Réponses: 9
    Dernier message: 20/01/2003, 21h01
  4. Analyser la ligne de commande
    Par benj29 dans le forum C
    Réponses: 14
    Dernier message: 19/11/2002, 04h13

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