私はipythonノートブックでbashスクリプトを実行し、さらに操作するために出力をpython変数の文字列として保存したいと考えています。パイプIpythonのマジックは変数に出力されますか?
%%bash
some_command [options] foo bar
私はipythonノートブックでbashスクリプトを実行し、さらに操作するために出力をpython変数の文字列として保存したいと考えています。パイプIpythonのマジックは変数に出力されますか?
%%bash
some_command [options] foo bar
これは何を使用してについて:
myvar = !some_command --option1 --option2 foo bar
代わりの%%bash
マジック基本的に私はパイプに、このような変数に、bashの魔法の出力、何かの 例えば出力をしたいですか? !
シンボルを使用すると、次のコマンドがシェルコマンドとして実行され、結果はすべてmyvar
に格納されます。複数のコマンドを実行し、すべてのコマンドの出力を収集するには、簡単なシェルスクリプトをまとめてください。それでも%%bash
セルの魔法を使用したい場合は
は完全にするために、あなたはあなたの選択の変数にstdoutとstderrからの出力をリダイレクトするために--out
と--err
フラグを渡すことができます。 doucumentationから
:
%%bash --out output --err error
echo "hi, stdout"
echo "hello, stderr" >&2
ので、変数で出力を保存output
とerror
ます:
print(error)
print(output)
のpythonコンソールに出力します:
hello, stderr
hi, stdout
お知らせ可変型の違いは@ MattDMo(SList
)と@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