Maison >développement back-end >Tutoriel Python >Comment puis-je capturer la sortie os.system dans une variable Python sans l'afficher à l'écran ?

Comment puis-je capturer la sortie os.system dans une variable Python sans l'afficher à l'écran ?

Barbara Streisand
Barbara Streisandoriginal
2024-12-06 09:25:11261parcourir

How Can I Capture os.system Output in a Python Variable Without Displaying it on the Screen?

Attribuer la sortie os.system à une variable sans affichage à l'écran

En Python, la fonction os.system exécute des commandes système, renvoyant un code de sortie. Cependant, l’impression du résultat à l’écran peut s’avérer indésirable. Cet article explore des solutions pour capturer la sortie dans une variable tout en supprimant l'affichage à l'écran.

Solution 1 : Utiliser os.popen

Selon une enquête précédente, os.popen offre une option viable :

os.popen('cat /etc/services').read()

Comme spécifié dans la documentation Python 3.6, os.popen utilise subprocess.Popen, offrant des fonctionnalités plus robustes pour gérer et communiquer avec sous-processus.

Solution 2 : Utilisation de subprocess.Popen

Pour une utilisation directe du sous-processus, le code suivant illustre la technique de sortie de capture :

import subprocess

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

En définissant stdout=subprocess .PIPE, la sortie est capturée, qui peut ensuite être consultée et imprimée comme vous le souhaitez.

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