Jak można stdout
stłumić dane wyjściowe ?
Na przykład średnik może służyć do pomijania wyświetlania zwracanych obiektów
>>> 1+1
2
>>> 1+1; # No output!
Jednak na funkcję, która drukuje na standardowe wyjście, nie ma wpływu średnik.
>>> print('Hello!')
Hello!
>>> MyFunction()
Calculating values...
W jaki sposób można zablokować dane wyjściowe z print
/ MyFunction
zostać wstrzymane?
ipython-notebook
Zero
źródło
źródło
nil
jako ostatnią linięOdpowiedzi:
Dodaj
%%capture
jako pierwszą linię komórki. na przykładTo po prostu odrzuca wyjście, ale
%%capture
magia może być użyta do zapisania wyniku w zmiennej - zapoznaj się z dokumentacjąźródło
%%capture
włączony tylko do końca komórki i musi pojawić się przed jakimkolwiek kodem w komórce. (Wygląda więc na to, że nie ma sposobu na uwolnienie się od komórki.)with io.capture_output() as captured:
możliwości dostrojenia wewnątrz komórki, aby przechwytywać tylko to, co jest uruchamiane w tymwith
kontekście.Wyłącz wyjście
Umieść znak
;
na końcu wiersza, aby pominąć drukowanie wyniku [ Odniesienie ].źródło
for
pętli. Jakieś pomysły? Chcę tylko pomijać dane wyjściowe z określonych linii kodu w komórce, a nie wszystkie linie. Dzięki(kredyt: https://stackoverflow.com/a/23611571/389812 )
Możesz użyć io.capture_output :
aby stłumić (np. przechwycić) stdout i stderr dla tych linii w
with-statement
.źródło
%autosave
i chciałem stłumić jego wyjście. Pomyślałem, że to będzie proste - ale dziwnie,contextlib.redirect_stdout
isys.stdout = open(os.devnull, 'w')
oba zawodzą (kończy się wydrukowaniem dodatkowej pustej linii). To powinna być akceptowana odpowiedź.Jeśli ktoś jest zainteresowany wyczyszczeniem wszystkich wyników:
Następnie wybierz dowolną opcję.
źródło