ipython のノートブックのセルで、`%bash` や `%script` 内の python 変数にアクセスできますか?
質問
の中から現在の python カーネル内の変数にアクセスする方法はありますか?
%%bash
または他の
%%script
のセルは?
コマンドライン引数または環境変数として?
どのように解決するのですか?
Pythonの変数は、最初の行にある
%%bash
または
%%script
というように、スクリプトにコマンドラインパラメータとして渡すことができます。例えば、bashではこんなことができます。
%%bash -s "$myPythonVar" "$myOtherVar"
echo "This bash script knows about $1 and $2"
は
-s
コマンドラインオプションは、bashに位置決めパラメータを渡すことができます。
$n
を通してアクセスします。bash の位置変数に実際に代入されるのは、次の結果であることに注意してください。
str(myPythonVariable)
. 引用文字(またはその他のbashに依存する文字)を含む文字列を渡す場合は、バックスラッシュでエスケープする必要があります(例:
\"
).
引用符は重要です - これがないと Python 変数 (文字列表現) はスペースで分割されてしまうので、もし
myPythonVar
が
datetime.datetime
と
str(myPythonVar)
として
"2013-10-30 05:04:09.797507"
とすると、上記のbashスクリプトは3つの位置変数を受け取ることになり、最初の2つは値を持つ
2013-10-30
と
05:04:09.797507
. と出力されることになる。
This bash script knows about 2013-10-30 and 05:04:09.797507
もし、変数に名前を付けたい場合で、Linuxを使用しているのであれば、以下のような方法があります。
%%script env my_bash_variable="$myPythonVariable" bash
echo myPythonVariable\'s value is $my_bash_variable
変数の代入を複数指定することができます。ここでも引用符やその他のものに注意してください(ここでbashは苦言を呈します!)。なぜこれが機能するのかを理解するために
env
のマニュアルページを参照してください。
関連
-
[解決済み】ipython notebookのコードでセル出力をクリアする
-
[解決済み] ブラウザでJupyter/ipythonノートブックのセル幅を広げるにはどうすればよいですか?
-
[解決済み] ImportError: notebook.notebookappという名前のモジュールはありません。
-
[解決済み】ipython notebookでセルの実行時間を測定する簡単な方法
-
[解決済み】IPython NotebookでPython 2.xとPython 3.xの両方を使用する場合
-
[解決済み] ipython notebook の出力ウィンドウをリサイズする
-
[解決済み] ipython notebook テーブルをセルの左側に配置する
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン