Maison > développement back-end > Tutoriel Python > Comment puis-je gérer discrètement la sortie de os.system en Python ?

Comment puis-je gérer discrètement la sortie de os.system en Python ?

Patricia Arquette
Libérer: 2024-11-28 06:34:13
original
503 Les gens l'ont consulté

How Can I Discreetly Handle the Output of os.system in Python?

Gérer discrètement la sortie d'os.system

Lors de l'exécution de commandes à l'aide d'os.system, la sortie est généralement affichée à l'écran. Cependant, il existe des situations dans lesquelles vous souhaitez attribuer la sortie à une variable et empêcher son apparition à l'écran.

Le code fourni illustre ce problème :

var = os.system("cat /etc/services")
print(var)
Copier après la connexion

Au lieu de capturer la commande En sortie, var contiendra 0, indiquant l'exécution réussie de la commande. Pour résoudre ce problème, envisagez d'utiliser popen :

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

Comme le suggère la documentation de Python 3.6, subprocess.Popen fournit une solution plus robuste pour gérer les sous-processus.

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

En utilisant subprocess, vous peut capturer à la fois la sortie standard et le flux d'erreurs, comme indiqué dans le code ci-dessus.

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