Pythonのインタラクティブシェルで、スクリプトで定義した関数などを読み込みたい、という場合にどうしたらいいのかな?
ということで。
使ったPythonのバージョン。
$ python3 -V Python 3.6.9
ヘルプを見てみます。
$ python3 -h
どうやら、「-i」オプションらしいです。
-i : inspect interactively after running script; forces a prompt even if stdin does not appear to be a terminal; also PYTHONINSPECT=x
たとえば、こんなスクリプトを用意してみます。
hello.py
def hello(word = "World"): print(f"Hello {word}!!")
スクリプトを「-i」で指定して、インタラクティブシェルを起動。
$ python3 -i hello.py >>>
インタラクティブシェルで、補完も効くようになります。
>>> hel hello( help(
スクリプトで定義した、関数呼び出し。
>>> hello() Hello World!! >>> hello("Python") Hello Python!!
OKですね。
「-i」で指定したスクリプトを修正した場合に再読み込み、というわけにはいかない気がしますが。
とりあえず、こちらを覚えておきましょう。