いくつかのシェル コマンドとその入力を含む IPython ノートブックをまとめたいと考えています。bash プロンプトでは、「here-document」構文を使用できます。
bash-3.2$ mysql -u root <<END_IPUT
> use mydb;
> show tables;
> END_INPUT
IPython、特にjupyterノートブックで同じ効果を得るにはどうすればよいですか? 「ラインマジック」または「セルマジック」としてIPythonとしてシェルコマンドを実行する方法を知っています。
In [7]: !! ls -tF
Out[7]: ['Demo-notebook.ipynb',
'createdb.sql',
...
IPython を system shell として調べました。これは、いくつかの構文上の優れた点を有効にする方法を示しています。以下の後、前置!
または追加せずにシステムコマンドを実行できます!!
# Turn everything in $PATH into an alias;
# then enable calling aliases without ! or %
%rehashx
%autocall 2
しかし、これはこれらのコマンドにインラインで入力を提供するのに役立ちません: ヒアドキュメント構文は IPython では無効であり、結果は python になりSyntaxError
ます。では、どうすればいいですか?