Lorsque vous utilisez le module subprocess
, comment puis-je faire quelque chose avec chaque ligne de la sortie d'un processus? Je ne veux pas attendre toute la sortie, comme lorsque vous utilisez communicate
, mais plutôt faire quelque chose avec elle dès qu'il est produit. Cela peut-il être fait?Faire quelque chose avec chaque ligne qui appartient à la sortie d'un processus
0
A
Répondre
1
Malheureusement, la proposition d'ajouter à subprocess est pas encore accepté: http://www.python.org/dev/peps/pep-3145/
Voici une recette pour le faire avec le sous-processus existant: http://code.activestate.com/recipes/440554/
Un intervenant note également cette solution simple (avec quelques inconvénients):
flags = fcntl.fcntl(subprocess.stdout, fcntl.F_GETFL)
fcntl.fcntl(subprocess.stdout, fcntl.F_SETFL, flags | os.O_NONBLOCK)
Questions connexes
- 1. Faire quelque chose avant la sortie du programme
- 2. While: sortie quelque chose de différent sur chaque deuxième résultat
- 3. Comment faire apparaître quelque chose sur chaque page de Django?
- 4. faire quelque chose après la méthode retourne
- 5. OCMock: Faire un bout faire quelque chose
- 6. Comment faire valoir quelque chose à la compilation en Java?
- 7. Afficher quelque chose sur l'écran à chaque action effectuée
- 8. secondes viennent x, faire quelque chose
- 9. Regex match qui ne commence pas avec quelque chose
- 10. Comment faire en sorte que mon curseur fasse quelque chose à chaque intervalle de pixels spécifié?
- 11. Comment faire savoir à l'utilisateur que quelque chose est sélectionné?
- 12. Comment faire quelque chose avant applicationDidFinishLaunching
- 13. Quelque chose ne va pas avec la sortie de la liste en Python
- 14. php faire quelque chose pour chaque enregistrement dans la base de données
- 15. vba: faire quelque chose que sur la première pour chaque boucle
- 16. Faire quelque chose lorsque MsgBox est fermé
- 17. À quel index appartient chaque correspondance?
- 18. faire quelque chose si vue des charges
- 19. Pourquoi cette sortie attend-elle quelque chose après?
- 20. Regex qui correspond à quelque chose avant un certain caractère?
- 21. comment faire correspondre quelque chose avec RegExp entre roundbrackets
- 22. Comment faire quelque chose quand il est disponible avec jQuery?
- 23. boucle ForEach: sortie quelque chose de différent sur chaque deuxième résultat
- 24. Comment utiliser sed pour renvoyer quelque chose de la première ligne qui correspond et quitte tôt?
- 25. Il ya quelque chose qui cloche avec ce JavaScript
- 26. Regex - Faire correspondre une ligne mais quelque chose ne va pas avec/m?
- 27. Comment faire CMD dire quelque chose?
- 28. Comment faire PHPUnit faire quelque chose si une assertion échoue
- 29. PHP: passer une variable à une fonction, faire quelque chose à la variable, retourner en arrière
- 30. Comment faire quelque chose avec Bash lorsqu'une ligne de texte apparaît dans un fichier