※ 商品のリンクをクリックして何かを購入すると私に少額の報酬が入ることがあります【広告表示】 パーフェクトPythonの読書会が始まったようです。
パーフェクトPython読書会 01 #perfectpython
ありがたいですね。
さて、職場でPythonのインタラクティブシェルを使っていたときに -i の魔力を別言語の人に自慢したいたところ、PyPIから最近メールを受け取った人も知らなかったりしたので書いておきましょう。
パーフェクトPythonを謎の方法で入手した同僚も知らなかった(つまり読んでない)ので、きっと有用でしょう。
Pythonは、pythonコマンドを引数なしで実行するとインタラクティブシェルモードに入ります。引数にスクリプトを渡すと、スクリプトを実行して終了します。
botoのラッパ関数を詰め込んだモジュールを作って、インタラクティブモードに入る度にimportしたりするの、面倒ですよね?
そこで -i です。
$ python -i script.py
こうすることで、スクリプトファイルを実行したコンテキストでインタラクティブシェルモードに入ります。 ipython も同じオプションが使えるので、 python コマンドのかわりにipythonを使えば script コンテキストの名前をタブ連打でリストできて便利です。
簡単に言えば、スクリプトファイル(上記の場合 script.py )で import したり定義したりしたモジュールや関数等がインタラクティブシェルを開いた時点で読み込まれているということです。
アーベンリ