2歩戻ったら2.5歩進みたい

関東で働くweb developerのブログ

<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分ぐらいハマりました。笑