359 votes

Comment masquer la sortie des sous-processus Python 2.7

Je suis l'aide de eSpeak sur Ubuntu et avoir un Python 2.7 script qui imprime et parle un message:

import subprocess
text = 'Hello World.'
print text
subprocess.call(['espeak', text])

eSpeak produit les sons désirés, mais encombre la coque, avec quelques erreurs (ALSA lib..., pas de prise connect) donc je ne peux pas lire facilement ce qui a été imprimé plus tôt. Code de sortie est de 0.

Malheureusement, il n'existe aucune preuve de l'option pour désactiver sa verbosité, donc je suis à la recherche d'un moyen pour que visuellement, le silence et de garder la coquille ouverte propre pour plus d'interaction.

Comment puis-je faire cela?

560voto

jdi Points 38029

Rediriger la sortie vers DEVNULL :

C’est effectivement le même que l’exécution de cette commande shell :

104voto

J.F. Sebastian Points 102961

Voici une version plus portable (juste pour le plaisir, il n’est pas nécessaire dans votre cas) :

-7voto

lolamontes69 Points 43

Pourquoi ne pas utiliser commands.getoutput() à la place ?

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X