web-dev-qa-db-ja.com

関数を介してコマンドラインスクリプトを実行するGoogle Colaboratoryセルの出力を抑制する方法

Google Colabでは、Lineの前に_!_を配置してセルを実行することで、コマンドラインスクリプトを実行します。

例えば

_!pip install adjustText
_

このセルの出力を禁止したい場合は、これを実行できます

_%%capture
!pip install adjustText
_

しかし、私は機能を介してコマンドラインスクリプトを実行し、実行中のセルの出力を抑制することなくのみそのコマンドラインの出力を抑制している状況を持っています。

例えば

セル1:

_%%capture
def installAdjust():
    !pip install adjustText
_

セル2:

_for v in range(10):
    print(v)
    installAdjust()
_

これは_!pip install adjustText_からの出力を抑制しません。 CELL2からのコマンドラインの出力を抑制したくないので、これを行うことはできません。

セル2:

_%%capture
for v in range(10):
    print(v)
    installAdjust()
_

また、これも機能しません

セル1:

_def installAdjust():
   %%capture
    !pip install adjustText
_
7
Peter Force

Pythonのユーティリティから_capture_output_を使用してください。

_from IPython.utils import io
for v in range(10):
    print(v)
    with io.capture_output() as captured:
      installAdjust()
_

将来的には、マジック関数が十分であれば、アクセスされているコアプロパティを検索して自分でアクセスします。

回答からの答え:iPythonノートブックの出力をどのように抑圧しますか?

3
Yaakov Bressler

コマンドラインコードまたは一部のpythonコードを使用しているかどうかの特定のセルの出力を抑制するために、セル(引用符なし)の出力を抑制するために '%%キャプチャ'マジック機能を使用できます。ノートブックは、Google Colabがこれ以上構築されているので、そこにも機能します。例えば:

_%%capture
!wget https://github.com/09.10-20_47_44.png
_
6
bhanu pratap