Maison >développement back-end >Tutoriel Python >Comment puis-je capturer la sortie du sous-processus sous forme de chaîne en Python ?

Comment puis-je capturer la sortie du sous-processus sous forme de chaîne en Python ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-02 21:27:12988parcourir

How Can I Capture Subprocess Output as a String in Python?

Capturer la sortie du sous-processus dans une chaîne

Pour capturer la sortie d'un appel système lancé via le sous-processus de Python. Ouvrez et stockez-le dans une chaîne , Python propose plusieurs options selon la version que vous utilisez.

Python 2.7 ou Python 3 :

Exploitez la fonction subprocess.check_output() :

from subprocess import check_output
output = check_output(["ntpq", "-p"])

Python 2.4-2.6 :

Utilisez la commande Popen méthode de communication :

import subprocess
process = subprocess.Popen(["ntpq", "-p"], stdout=subprocess.PIPE)
output, _ = process.communicate()

Notez que lors de la spécification de la commande, séparez l'exécutable et les options dans une liste, telle que ["ntpq", "-p"], car Popen n'appelle pas de 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!

Déclaration:
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