[Wapt] Récupérer la sortie d'une commande

Denis Cardon dcardon at tranquil.it
Thu Nov 30 16:26:47 CET 2017


Bonjour Bastien,

> Je n'arrive pas à récupérer la sortie d'une commande avec la fonction run().
>
> Si je fais : /print(run(r'dir /B C:\Windows\explorer.exe'))/
> Cela m'affiche un ligne vide, alors que d'après l'aide de la fonction
> run(), ça devrait m'afficher : /[u'explorer.exe\r\n']/
>
> Est-ce normal ou est-ce un bug ?
> Si c'est normal, comment faire pour récupérer la sortie de la commande ?

Ca devrait fonctionner (ça fonctionne chez moi avec une install fraiche 
de waptsetup.exe en 1.3.13 et en 1.5.1.6).

Si vous le lancer dans un shell python standard, du genre en cmd.exe, 
est ce que ça vous donner le résultat? :
cd c:\wapt
waptpython.exe
from setuphelpers import *
print(run(r'dir /B C:\Windows\explorer.exe'))

Par rapport à votre mention de la doc, la fonction run() renvoie un 
objet de type RunOutput qui sous-classe le type str (il contient aussi 
le code de retour si besoin). Si vous voulez avoir le résultat tout 
forme de tableau, il faut splitter la string sur le caractère \n.

Par contre, pour ce genre de commande il est infiniment préférable 
d'utiliser les équivalents python. Vous pouvez évoquer à votre moteur de 
recherche favori votre besoin, et normalement vous obtiendrez un morceau 
de code qui convient sur stackoverflow ou équivalent (à relire avant 
quand même :-). C'est aussi une bonne idée d'aller sur store.wapt.fr et 
de regarder le code des autres paquets, vous trouverez probablement un 
truc similaire à ce que vous voulez faire dans un autre paquet déjà 
existant.

> Je suis en WAPT 1.3.13.

c'est bien de préciser la version :-) Ca va bientôt être le moment 
d'upgrader en 1.5. Il y a 8 mois de travail de l'équipe TIS derrière 
cette nouvelle version 1.5, avec une fluidité et une rapidité de la 
console qui est juste formidable.

Cordialement,

Denis


>
> Merci d'avance.
>
> Cordialement,
> Bastien
>
>
> _______________________________________________
> WAPT mailing list
> WAPT at lists.tranquil.it
> http://lists.tranquil.it/listinfo/wapt
>

-- 
Denis Cardon
Tranquil IT Systems
Les Espaces Jules Verne, bâtiment A
12 avenue Jules Verne
44230 Saint Sébastien sur Loire
tel : +33 (0) 2.40.97.57.55
http://www.tranquil-it-systems.fr



More information about the WAPT mailing list