Heim >Backend-Entwicklung >Python-Tutorial >Wie kann ich einen Unterprozess in Python unter Ubuntu stillschweigend ausführen und seine Ausgabe unterdrücken?
Im bereitgestellten Python-Skript überfüllt eSpeak die Shell mit unerwünschten Fehlermeldungen. Das Ziel besteht darin, diese Ausgabe zu unterdrücken und gleichzeitig die gewünschte akustische Reaktion beizubehalten. Obwohl kein direkter Weg gefunden wurde, die Ausführlichkeit von eSpeak zu unterdrücken, gibt es eine Lösung, um seine Ausgabe visuell zum Schweigen zu bringen.
Um die Ausgabe effektiv zu verbergen, leiten Sie sie zu a um Null-Gerät mit dem DEVNULL-Attribut:
import subprocess subprocess.call(['echo', 'foo'], stdout=subprocess.DEVNULL, stderr=subprocess.STDOUT)
Für Versionen vor Python 3.3 verwenden Sie den folgenden Ansatz:
import os FNULL = open(os.devnull, 'w') subprocess.call(['echo', 'foo'], stdout=FNULL, stderr=subprocess.STDOUT)
Die bereitgestellte Lösung ähnelt der Ausführung des folgenden Shell-Befehls:
retcode = os.system("echo 'foo' > /dev/null")Durch die Umleitung der Ausgabe nach /dev/null wird das Durcheinander effektiv ausgeblendet, sodass die Shell für weitere Zwecke sauber bleibt Interaktionen.
Das obige ist der detaillierte Inhalt vonWie kann ich einen Unterprozess in Python unter Ubuntu stillschweigend ausführen und seine Ausgabe unterdrücken?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!