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