2018年3月6日火曜日

block print() in Jupyter temporally

I wanted to block print() in Jupyter temporally. I don't know this is the best way, but somehow managed to do.

There seem to be no independent command to change setting back to default, to first we need to store default sys setting.

import sys

save_stdout = sys.stdout
save_stdout

if this return as follows, OK. This is Jupyter ipython default.

<ipykernel.iostream.OutStream at ...>
 
Then suppress print stdout


sys.stdout = open(os.devnull, 'w')
sys.stdout 
 This will be returned and print function does not return anything.
<_io.TextIOWrapper name='/dev/null' mode='w' encoding='UTF-8'>
 
 
# return saved default 
sys.stdout = save_stdout 
 --
jupyterで一時的にprint機能を消したい、ということがあり方法を調べました。

戻すコマンドが見つからなかったので、「デフォルトを先に保存」してから、変更します。そうしないとリスタートしないと戻りません・・・もっと効果的な方法があるのかもしれませんが。




0 件のコメント:

コメントを投稿