Bonjour,
J'ai ce bout de code que je test pour gérer la connexion à un serveur en ssh :
J'ai vue dans la doc que stdin, stdout, stderr sont des tuples. Afin de gérer ses variables et éventuellement des erreurs, je vérifie qu'elles soient différentes d'un tuple vide, sauf que lors de ce test, la condition est toujours vérifiée.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 stdin, stdout, stderr = client.exec_command("ls -lrt") if stdout !=(): print "------STDOUT-------" print stdout.read() print "-------------------" if stderr !=(): print "------STDERR-------" print stderr.read() print "-------------------"
Lorsque la commande que je test (ls -lrt) est correct comme le code ci dessus, j'obtiens la sortie STDOUT et le résultat de ma commande :
Cependant je récupère également le STDERR même si le résultat est vide (ligne 17-20).
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 [+] submit command .... ------STDOUT------- drwxr-xr-x 4 nekcorp nekcorp 4096 Nov 20 2014 TEMP -rw------- 1 nekcorp nekcorp 1675 Dec 9 2014 rsakey -rw-r--r-- 1 nekcorp nekcorp 397 Dec 9 2014 rsakey.pub drwxrwxrwx 3 nekcorp nekcorp 4096 Jan 22 2015 User_Routine_Samcef drwxr-xr-x 3 nekcorp nekcorp 4096 Jan 22 2015 Examples -rw-r--r-- 1 nekcorp nekcorp 210 Jan 27 2015 samrc.ini -rw------- 1 nekcorp nekcorp 0 Mar 6 2015 STDIN.o139502 -rw------- 1 nekcorp nekcorp 74 Mar 6 2015 STDIN.e139502 drwxrwxrwx 3 nekcorp nekcorp 4096 Apr 3 2015 Samcef -rw-r--r-- 1 nekcorp nekcorp 0 Jan 29 2018 remote_testfile.txt drwxr-xr-x 4 nekcorp nekcorp 4096 Mar 13 2018 script drwxr-xr-x 2 nekcorp nekcorp 4096 Oct 15 17:19 toto ------------------- ------STDERR------- -------------------
Du coup je doute que stdin, stdout, et stderr soient des tuples, surtout que je dois utiliser la méthode read() afin de les lire.
Pouvez vous me dire quel type de test je dois faire sur ces variables afin que ceux ci soit valides ? Parce que si stderr n'est pas un tuple il sera toujours différent du tuple vide
Merci d'avance pour votre aide
Partager