Maison > développement back-end > Tutoriel Python > Comment puis-je capturer et stocker la sortie d'un appel subprocess.Popen sous forme de chaîne en Python ?

Comment puis-je capturer et stocker la sortie d'un appel subprocess.Popen sous forme de chaîne en Python ?

Patricia Arquette
Libérer: 2024-12-04 19:07:14
original
334 Les gens l'ont consulté

How Can I Capture and Store the Output of a subprocess.Popen Call as a String in Python?

Stockage de la sortie du subprocess.Popen Call dans une chaîne

En programmation Python, l'utilisation du module subprocess vous permet d'exécuter des appels système et de capturer leur production. Cet article fournit des solutions pour stocker la sortie d'un appel subprocess.Popen dans une variable de chaîne.

Solution pour Python 2.7 ou Python 3

Python fournit le subprocess.check_output (), spécialement conçue pour capturer la sortie d’une commande dans une chaîne. Utilisez-le simplement comme suit :

from subprocess import check_output
out = check_output(["ntpq", "-p"])
Copier après la connexion

Solution pour Python 2.4-2.6

Pour les versions Python 2.4 à 2.6, vous pouvez utiliser la méthode de communication de Popen :

import subprocess
p = subprocess.Popen(["ntpq", "-p"], stdout=subprocess.PIPE)
out, err = p.communicate()
Copier après la connexion

La variable out dans le code ci-dessus contient le sortie.

Remarque concernant la saisie de la commande

Lors de l'utilisation de Popen, il est crucial de transmettre la commande sous forme de liste de chaînes, comme indiqué dans les exemples fournis. C'est parce que Popen n'invoque pas le shell.

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