J'essaie de lancer un simple outil de ligne de commande (windows) dans une application PyQt GUI que j'écris. Le problème que j'ai est que l'outil de ligne de commande jette sa progression sur stdout (c'est une commande de réinitialisation du serveur afin que vous obteniez des résultats de type "Attempting to stop" et "Restarting".)Python Impression de StdOut tel qu'il a été reçu
Ce que j'essaie de faire est de capturer sortie donc je peux l'afficher dans le cadre de mon application, je suppose que ce serait assez simple de faire quelque chose comme ce qui suit:.
import os
import subprocess as sub
cmd = "COMMAND LINE APP NAME -ARGS"
proc = sub.Popen(cmd, shell=True, stdout=sub.PIPE).stdout
while 1:
line = proc.readline()
if not line:
break
print line
Cela fonctionne en partie dans ce que je reçois le contenu de StdOut mais au lieu de comme les messages de progression sont envoyés Je l'obtiens une fois que l'application de ligne de commande est sortie et qu'il semble vider StdOut en une fois
e une réponse simple?
double: http://stackoverflow.com/questions/527197/intercepting-stdout-of-a-subprocess-while-it-is-running –