Maison >développement back-end >Tutoriel Python >Comment puis-je capturer silencieusement le résultat d'une commande en Python ?
Capture silencieuse de la sortie de commande avec Python
Lors de l'exécution de commandes avec os.system, vous pouvez rencontrer des situations dans lesquelles vous souhaitez capturer la sortie sans en l'affichant à l'écran. Voici comment procéder :
En Python, la fonction os.system exécute une commande et renvoie son état de sortie. Cependant, il imprime également le résultat de la commande sur la console. Pour capturer la sortie en silence, utilisez plutôt le module de sous-processus.
Utilisation de os.popen
La fonction os.popen peut être utilisée pour exécuter des commandes et capturer leur sortie. Il renvoie un objet tube qui peut être utilisé pour lire la sortie. Par exemple :
output = os.popen('cat /etc/services').read() print(output)
Utilisation des sous-processus
Le module de sous-processus offre un moyen plus puissant de gérer et d'interagir avec les sous-processus. Voici comment capturer silencieusement le résultat d'une commande à l'aide d'un sous-processus :
import subprocess proc = subprocess.Popen([ 'cat', '/etc/services' ], stdout=subprocess.PIPE, shell=True) (output, err) = proc.communicate() print('program output:', output)
Cette approche vous permet de contrôler divers aspects de l'exécution du sous-processus, tels que l'entrée, la sortie et la gestion des erreurs. La méthode de communication attend la fin du sous-processus et renvoie un tuple contenant les flux de sortie standard et d'erreur standard.
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!