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
Patricia Arquetteoriginal
2024-11-28 06:34:13420parcourir

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)

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()

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)

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:
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