2

iPython で、コマンド シェル コマンド (感嘆符演算子) を使用する場合、長い文字列リテラルの行継続を行う方法はありますか?

例えば

t = !echo "Hello"\
"World"
t

期待される ['HelloWorld'] の代わりに ['Hello'] を t の値として生成します。

4

1 に答える 1

1

「セルマジック」を使用できます(これは基本的に、のような他のマジックの複数行バージョンです!)。コマンド プロンプトで入力%%bashすると、新しい行に が表示されます。これは、コマンドを入力...する必要があることを意味します。もう一度 Enter キーを押すと、別の が表示されます。Enter キーを...2 回続けて押すと、コマンドが実行されます。たとえば、次のように入力できます。

%%bash --out t
echo "Hello "\
"World"

(最後にEnterキーを2回押します)。期待どおりに動作します。--out t特に、標準出力を変数 に格納するに注意してくださいt。これを評価すると、 が得られ'Hello World\n'ます。このページ--errでうまく説明されているように、 で標準エラー出力を取得することもできます。

ipython ノートブックでは、すべてを 1 つのセルに入れて、まとめて評価するだけです。(ノートブックを試したことがない場合は、強くお勧めします。)

于 2013-09-23T20:36:05.073 に答える