ipython Notebook で bash スクリプトを実行し、出力を文字列として python 変数に保存して、さらに操作したいと考えています。基本的に、bash マジックの出力を変数にパイプします。たとえば、次のような出力です。
%%bash
some_command [options] foo bar
ipython Notebook で bash スクリプトを実行し、出力を文字列として python 変数に保存して、さらに操作したいと考えています。基本的に、bash マジックの出力を変数にパイプします。たとえば、次のような出力です。
%%bash
some_command [options] foo bar
これを使用するのはどうですか:
myvar = !some_command --option1 --option2 foo bar
%%bash
魔法の代わり?記号を使用すると!
、次のコマンドがシェル コマンドとして実行され、結果はすべて に保存されmyvar
ます。複数のコマンドを実行し、それらすべての出力を収集するには、簡単なシェル スクリプトを作成するだけです。
%%bash
完全を期すために、まだセル マジックを使用したい場合は、--out
および--err
フラグを渡して、stdout および stderr からの出力を選択した変数にリダイレクトできます。
ドキュメントから:
%%bash --out output --err error
echo "hi, stdout"
echo "hello, stderr" >&2
output
出力を変数に保存するため、次のerror
ようになります。
print(error)
print(output)
Pythonコンソールに出力されます:
hello, stderr
hi, stdout
SList
@MattDMo ( ) と @oLas ( str
) の回答の変数タイプの違いに注意してください。
In [1]: output = !whoami
In [2]: type(output)
Out[2]: IPython.utils.text.SList
In [3]: %%bash --out output
...: whoami
In [4]: type(output)
Out[4]: str