CLOVER🍀

That was when it all began.

Pythonのインタラクティブシェル起動時に、スクリプトを読み込む

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」で指定したスクリプトを修正した場合に再読み込み、というわけにはいかない気がしますが。

とりあえず、こちらを覚えておきましょう。