Récupération de la sortie en temps réel avec un sous-processus
Pour obtenir une sortie en temps réel à partir d'un programme de ligne de commande à l'aide d'un sous-processus, le p. La méthode stdout.readline() peut être utilisée. Cette méthode diffère de p.stdout en termes de comportement de mise en mémoire tampon. Alors que p.stdout tamponne la sortie de manière agressive, p.stdout.readline() lit chaque ligne dès qu'elle devient disponible.
Le code Python suivant démontre l'utilisation de p.stdout.readline():
from subprocess import Popen, PIPE, STDOUT p = Popen('svnadmin verify /var/svn/repos/config', stdout=PIPE, stderr=STDOUT, shell=True) while True: line = p.stdout.readline() if not line: break print(line.replace('\n', ''))
Ce code lit chaque ligne de sortie de la commande svnadmin verify et l'imprime en temps réel.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!