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
360 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!

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