Maison > développement back-end > Tutoriel Python > Comment puis-je récupérer la sortie du processus de « subprocess.call() » en Python ?

Comment puis-je récupérer la sortie du processus de « subprocess.call() » en Python ?

Barbara Streisand
Libérer: 2024-11-30 04:26:17
original
110 Les gens l'ont consulté

How Can I Retrieve Process Output from `subprocess.call()` in Python?

Récupération de la sortie du processus à partir de subprocess.call()

Dans les versions Python antérieures à 2.7, obtention de la sortie d'un processus invoqué à l'aide d'un sous-processus. call() peut être difficile. Passer un objet StringIO.StringIO à l'argument stdout déclenche une erreur due à l'absence d'attribut 'fileno' dans les objets StringIO.

Solution

Pour Python versions 2.7 et ci-dessus, la fonction subprocess.check_output fournit une solution simple. Elle combine l'exécution d'un sous-processus avec la capture et le retour de sa sortie standard sous forme de chaîne.

Par exemple (testé sous Linux) :

import subprocess

output = subprocess.check_output(['ping', '-c', '1', '8.8.8.8'])

print(output)
Copier après la connexion

Notez que la commande ping utilise le Notation Linux (-c pour compter). Pour Windows, remplacez-le par -n.

Pour plus de détails, reportez-vous à la réponse plus complète dans cet [autre article](https://stackoverflow.com/a/5647266/6214952).

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