iPython で、コマンド シェル コマンド (感嘆符演算子) を使用する場合、長い文字列リテラルの行継続を行う方法はありますか?
例えば
t = !echo "Hello"\
"World"
t
期待される ['HelloWorld'] の代わりに ['Hello'] を t の値として生成します。
iPython で、コマンド シェル コマンド (感嘆符演算子) を使用する場合、長い文字列リテラルの行継続を行う方法はありますか?
例えば
t = !echo "Hello"\
"World"
t
期待される ['HelloWorld'] の代わりに ['Hello'] を t の値として生成します。
「セルマジック」を使用できます(これは基本的に、のような他のマジックの複数行バージョンです!
)。コマンド プロンプトで入力%%bash
すると、新しい行に が表示されます。これは、コマンドを入力...
する必要があることを意味します。もう一度 Enter キーを押すと、別の が表示されます。Enter キーを...
2 回続けて押すと、コマンドが実行されます。たとえば、次のように入力できます。
%%bash --out t
echo "Hello "\
"World"
(最後にEnterキーを2回押します)。期待どおりに動作します。--out t
特に、標準出力を変数 に格納するに注意してくださいt
。これを評価すると、 が得られ'Hello World\n'
ます。このページ--err
でうまく説明されているように、 で標準エラー出力を取得することもできます。
ipython ノートブックでは、すべてを 1 つのセルに入れて、まとめて評価するだけです。(ノートブックを試したことがない場合は、強くお勧めします。)