社会ノマド

備忘録と書きもの練習帳。とくに何らかのハンドリング系と、雑多な話題に関する読書録になるかなと思います。

python における import の使い方

pythonで単純なコード実行はわかってきた。関数定義もひとまずok。でも いちいち対話型に入れるのめんどい!! そこでモジュールをうまくimportをしてpythonと対話せずに読み込む方法をみる。つまるところ簡単な import のしくみ。

まずは import してみる

以下のファイルをtest.pyでディレクトリにしまう。chori()って関数の引数に与えた数字の文だけHelloって返してくれる。

def chori(x):
    print "Hello"*x

pythonでこのモジュールを読み込み、その中にある関数chori()にアクセスする場合は、メソッドを使って以下のように記述する。

# test.py の読み込み
import test

# 関数へのアクセス
test.chori(2) # HelloHelloと表示

関数をメソッドではなくそのまま読み込む

関数をそのまま読み込む方法としては以下のようになる。

from test import chori 

chori(2) # HelloHelloと表示

ターミナルから.pyを起動して引数を渡す

ターミナルからpythonと対話しなくても関数を呼び出し引数を与える方法。ファイルの末尾に __name__ 以下にょろっと加えてtest.pyで保存。

def chori (x):
    print "Hello"*x

# ファイルの末尾にこれを加える
if __name__ == "__main__":
    import sys
    chori(int(sys.argv[1]))

ターミナルにてpython test.py 2とか入れるとHelloHelloと返してくる。

ひとまずこれで、いちいち対話しなくても動かせる。

参照

6. モジュール — Python 2.7.x ドキュメント