mem()rand()m

ひよっこIT基盤技術者の備忘録

外部ファイル.pyで定義した関数を利用

目的

pythonで自作サブルーチン等を外部ファイルで実装して利用したい。

解決方法

外部ファイル"myfunc.py"で実装した関数として、例えば"Hello, world!"を出力するような関数"hello"を考える。"myfunc.py"の内容は以下。

これを別の実行ファイル"main.py"で実行するには、以下のようにする。

ァイル名"myfunc.py"の関数を利用したければ".py"を取り除いて

import myfunc

とする。"as mf"と併記することで、"mf.hello()"などという関数表記が出来る。
"python main.py"で実行は完了するが、実行後、同じフォルダ内に"myfunc.pyc"が生成される。これは"myfunc.py"をコンパイルして生成されるバイナリであり、別のファイルから"myfunc.py"で定義された関数を使ったりする際にコンパイルの二度手間を防ぐために自動的に生成される。中間ファイルを必要としない場合はオプション-Bを付けて実行する。

python -B main.py