Help us understand the problem. What is going on with this article?

JupyterやColabのマジックコマンドに対してセル内で定義した変数を引数として与える

More than 1 year has passed since last update.

すごーーーーーーく下らないけど忘れそうだからQiitaにメモしておく

どういうシチュエーションのことを言っているのか?

JupyterやColaboratoryをいじっているとたまに%%!でマジックコマンドを実行したくなる時がある

しかもJupyter内で定義した変数を引数として渡したい時がある

今まではあまりなにも考えずに文字列をそのまま打ち込んでいたけど、shellのお作法にしたがって$をつければセルで定義した変数名の中に入っているオブジェクトをそのまま認識してくれることを今更知った

今更知って結構恥ずかしい

アンチパターン

チンパンジー的対処方法
# 無理やりファイル名を直で文字列として渡す!!
!python main.py --input_dir="/pathx/file.txt"
# 別パターン
%%gcs list --objects "gs://mypath"

良さげパターン

ホモ・サピエンス的対処方法
inputpath = "/pathx/file.txt"

!python main.py --input_dir=$inputpath
# 別パターン
gs_path = "gs://mypath"
%%gcs list --objects $gs_path

画面イメージも一応記載

スクリーンショット 2019-05-04 11.40.49.png

やっぱり、しょうもないな。。。この記事

おしまい

brainpad
ブレインパッドは、2004年の創業以来、データによるビジネス創造と経営改善に向き合ってきたデータ活用・分析企業です。
http://www.brainpad.co.jp/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away