Bagaimana cara stdout
menekan keluaran ?
Titik koma dapat digunakan untuk menekan tampilan objek yang dikembalikan, misalnya
>>> 1+1
2
>>> 1+1; # No output!
Namun, fungsi yang mencetak ke stdout tidak terpengaruh oleh titik koma.
>>> print('Hello!')
Hello!
>>> MyFunction()
Calculating values...
Bagaimana output dari print
/ MyFunction
ditekan?
nil
sebagai baris terakhirJawaban:
Tambahkan
%%capture
sebagai baris pertama sel. misalnyaIni hanya membuang output, tetapi
%%capture
keajaiban dapat digunakan untuk menyimpan output ke variabel - lihat dokumensumber
%%capture
hanya diaktifkan sampai akhir sel, dan itu harus muncul sebelum kode apa pun di dalam sel. (Jadi tampaknya tidak ada cara untuk tidak tertangkap di dalam sel.)with io.capture_output() as captured:
Anda dapat menyelaraskan dalam sel untuk hanya menangkap apa yang dijalankan dalamwith
konteks itu.Tekan keluaran
Letakkan a
;
di akhir baris untuk menekan pencetakan output [ Referensi ].sumber
for
loop. Ada ide? Saya hanya ingin menekan keluaran dari baris kode tertentu di dalam sel, tidak semua baris. Terima kasih(kredit: https://stackoverflow.com/a/23611571/389812 )
Anda bisa menggunakan io.capture_output :
untuk menekan (misalnya menangkap) stdout dan stderr untuk garis-garis di dalam
with-statement
.sumber
%autosave
, dan ingin menekan outputnya. Pikir itu akan sederhana - tetapi aneh,contextlib.redirect_stdout
dansys.stdout = open(os.devnull, 'w')
keduanya gagal (akhirnya mencetak baris kosong tambahan). Ini harus menjadi jawaban yang diterima.Jika ada yang tertarik untuk menghapus semua keluaran:
Kemudian pilih opsi mana yang Anda suka.
sumber