Maison > développement back-end > Tutoriel Python > Comment puis-je récupérer la sortie en temps réel d'un programme de ligne de commande à l'aide d'un « sous-processus » en Python ?

Comment puis-je récupérer la sortie en temps réel d'un programme de ligne de commande à l'aide d'un « sous-processus » en Python ?

Barbara Streisand
Libérer: 2024-11-14 21:17:02
original
978 Les gens l'ont consulté

How can I Retrieve Realtime Output from a Command-line Program Using `subprocess` in Python?

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', ''))
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal