J'écris une application python qui exécute plusieurs sous-processus en utilisant des objets subprocess.Popen. J'ai une interface graphique glade et je veux afficher la sortie de ces commandes (en cours d'exécution dans subprocess.Popen) dans le GUI en temps réel.GUI Python (glade) pour afficher la sortie du processus shell
Quelqu'un peut-il suggérer un moyen de le faire? Quel objet glade dois-je utiliser et comment rediriger la sortie?
Je me suis trompé ... Je ne voulais widget GTK. Maintenant, à propos de cet adaptateur, pouvez-vous fournir plus de détails? Voulez-vous dire comme un objet timer qui lit constamment le stdout et le stderr et l'écrit dans le widget gtk? ou avez-vous quelque chose de différent à l'esprit? –
Je pensais que Popen écrit la sortie dans l'objet-fichier à la place il utilise la méthode .fileno() et os.fdopen() pour ce descripteur de fichier (et je ne sais pas pourquoi). donc vous pouvez utiliser .communicate() qui lit toute la sortie en mémoire jusqu'à ce que le processus se termine. Si ce n'est pas une option pour vous, vous devez utiliser PIPE et en lisant constamment (peut-être à partir d'un thread). espérons que cela a aidé plus –