Wie kann die Ausgabe stdout
unterdrückt werden?
Ein Semikolon kann beispielsweise verwendet werden, um die Anzeige zurückgegebener Objekte zu unterdrücken
>>> 1+1
2
>>> 1+1; # No output!
Eine Funktion, die auf stdout gedruckt wird, ist jedoch vom Semikolon nicht betroffen.
>>> print('Hello!')
Hello!
>>> MyFunction()
Calculating values...
Wie kann die Ausgabe von print
/ MyFunction
unterdrückt werden?
ipython-notebook
Null
quelle
quelle
nil
als letzte zeile hinzufügenAntworten:
Fügen Sie
%%capture
als die erste Zeile der Zelle. z.BDadurch wird die Ausgabe einfach verworfen, aber die
%%capture
Magie kann verwendet werden, um die Ausgabe in einer Variablen zu speichern - konsultieren Sie die Dokumentequelle
%%capture
es nur bis zum Ende der Zelle aktiviert ist und vor jedem Code in der Zelle erscheinen muss. (Es scheint also, dass es keine Möglichkeit gibt, innerhalb einer Zelle zu erfassen.)with io.capture_output() as captured:
der Feinabstimmung innerhalb einer Zelle behandelt, um nur das zu erfassen, was in diesemwith
Kontext ausgeführt wird.Ausgabe unterdrücken
Setzen Sie ein
;
am Ende einer Zeile, um das Drucken der Ausgabe zu unterdrücken [ Referenz ].quelle
for
Schleife. Irgendwelche Ideen? Ich möchte nur die Ausgabe bestimmter Codezeilen in der Zelle unterdrücken, nicht alle Zeilen. Danke(Gutschrift: https://stackoverflow.com/a/23611571/389812 )
Sie könnten io.capture_output verwenden :
stdout und stderr für diese Zeilen innerhalb der zu unterdrücken (z. B. zu erfassen)
with-statement
.quelle
%autosave
, und dessen Ausgabe unterdrücken wollte. Ich dachte, es wäre einfach - aber seltsam,contextlib.redirect_stdout
undsys.stdout = open(os.devnull, 'w')
beide scheitern (am Ende wird eine zusätzliche leere Zeile gedruckt). Dies sollte die akzeptierte Antwort sein.Wenn jemand daran interessiert ist, alle Ausgaben zu löschen:
Wählen Sie dann die gewünschte Option.
quelle