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"])
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()
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!