Maison >développement back-end >Tutoriel Python >Comment puis-je exécuter silencieusement un sous-processus en Python sur Ubuntu et supprimer sa sortie ?
Dans le script Python fourni, eSpeak encombre le shell avec des messages d'erreur indésirables. Le but est de supprimer cette sortie tout en préservant la réponse audible souhaitée. Bien qu'il n'ait pas été possible de supprimer directement la verbosité d'eSpeak, il existe une solution pour faire taire visuellement sa sortie.
Pour masquer efficacement la sortie, redirigez-la vers un périphérique null utilisant l'attribut DEVNULL :
import subprocess subprocess.call(['echo', 'foo'], stdout=subprocess.DEVNULL, stderr=subprocess.STDOUT)
Pour les versions antérieures à Python 3.3, utilisez l'approche suivante :
import os FNULL = open(os.devnull, 'w') subprocess.call(['echo', 'foo'], stdout=FNULL, stderr=subprocess.STDOUT)
La solution fournie est similaire à l'exécution de la commande shell suivante :
retcode = os.system("echo 'foo' > /dev/null")En redirigeant la sortie vers /dev/null, l'encombrement est effectivement masqué, laissant le shell propre pour d'autres interactions.
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!