<python>自作モジュールをimportする時の書き方
データ分析してる時、同じ形式のデータを加工するプロセスは関数化してまとめた後、.pyファイルにして他のデータにも使い回すことがあります。
そのような自作した.pyファイルを使う方法に関するメモです。
方法
まず自作モジュールとしてmymodule.py
を作ります。
def print_hoge(): print("hoge")
これがカレントフォルダの一つ上にあったとして、
まずこう書いてインポートします。
import sys sys.path.append("../.") import mymodule mymodule.print_hoge()
そしてファイル内の関数を呼び出します。
mymodule.print_hoge() >hoge
たいへんよくできました。
Appendix:自作モジュールの中で後から書き直した分が反映されない時の対処
上のやり方でimportした後に、手元でモジュールのコードを書き直してimportしても、
追記した分の関数が
"module mymodule has no attributes ~~"
でエラーになりました。
調べたところ、一度importしたものを再度読み直すときは
import importlib importlib.reload(mymodule)
これで読み直しするらしい。
ずーっとimportを実行し続けて30分ぐらいハマりました。笑