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!