Maison > développement back-end > Tutoriel Python > Comment capturer la sortie de commande de « os.system » en Python sans l'afficher à l'écran ?

Comment capturer la sortie de commande de « os.system » en Python sans l'afficher à l'écran ?

Linda Hamilton
Libérer: 2024-11-29 17:21:10
original
265 Les gens l'ont consulté

How to Capture Command Output from `os.system` in Python Without Displaying it on the Screen?

Comment capturer la sortie de commande d'os.system sans affichage à l'écran

Lorsque vous utilisez os.system pour exécuter des commandes, la sortie est généralement affichée à l'écran. Cependant, vous souhaiterez peut-être capturer le résultat de la commande et le stocker dans une variable pour un traitement ultérieur.

Pour résoudre ce problème, vous pouvez utiliser os.popen à la place :

output = os.popen('cat /etc/services').read()
Copier après la connexion

Comme indiqué dans la documentation Python 3.6 :

"Ceci est implémenté à l'aide de subprocess.Popen ; consultez la documentation de cette classe pour des moyens plus puissants de gérer et de communiquer avec sous-processus."

Pour plus de contrôle sur le sous-processus, envisagez d'utiliser directement le sous-processus :

import subprocess

proc = subprocess.Popen(["cat", "/etc/services"], stdout=subprocess.PIPE, shell=True)
(out, err) = proc.communicate()
print("program output:", out)
Copier après la connexion

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