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

Bastien HERMITTE bhermitte at b2pweb.com
Thu Nov 30 17:20:54 CET 2017


Bonjour Denis,

Merci pour votre réponse.

Cela fonctionne dans un shell python standard.
Et je viens de me rendre compte que ça fonctionne lorsque j'exécute la 
fonction install() (via le menu de gauche de pyscripter).
J'avais pour habitude de placer les lignes de tests en haut, hors de 
toute fonction, et d'exécuter le script via le bouton "Play" en haut de 
pyscripter, mais visiblement cela ne fonctionne plus comme ça.

La commande dir était un exemple, je n'ai malheureusement pas trouvé 
d'équivalent à ce que je veux faire en python.
J'essaye de lister les règles du firewall windows qui correspondent à 
une expression /(//netsh advfirewall firewall show rule name=all | 
findstr /R "Zoiper.*") /pour ensuite les supprimer.

J'attends avec impatience la version 1.5 stable pour migrer mon serveur 
de Debian 32bit à CentOS 64bit, et commencer à utiliser WAPT sur les 
postes nomades (merci les websockets) ;-)

Cordialement,
Bastien

Le 30/11/2017 à 16:26, Denis Cardon a écrit :
> 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
>>
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.tranquil.it/pipermail/wapt/attachments/20171130/1db92854/attachment-0001.html>


More information about the WAPT mailing list