目次
1.環境
- Debian7.11
- Python2.7.3
2.パッケージ化とは
パッケージ化を行うことで関連するモジュール群でグルーピングできプログラムのメンテナンス性が高まる、 また同じモジュール名同士の競合を回避することができる。
3.pythonでパッケージ化を行うための準備
pythonでパッケージ化を行うには、まずはパッケージとなるディレクトリを作成します。
筆者はサンプルとして以下のディレクトリ構造を作成しました。
python |- com |- py |- sample
このpythonフォルダは作業フォルダなので、com配下のディレクトリ毎にinit.pyという空のファイルを作成していきます。
init.pyを作成する理由はそのディレクトリをパッケージであるとpythonに認識させるためです。
python |- com |- __init__.py |- py |- __init__.py |- sample |- __init__.py
4.パッケージ化するモジュールを作成しよう
今回はサンプルとして以下のモジュールを用意しました。
test.py
#_*_ coding: utf-8 _*_ class Test: @staticmethod def add(arg1, arg2): return arg1 + arg2
このファイルを下記の場所に配置します。
python |- com |- __init__.py |- py |- __init__.py |- sample |- __init__.py |- test.py
5.パッケージ化したモジュールを読み込んでみよう
以下のスクリプトファイルを用意します。
配置する場所はpythonフォルダ直下に配置します。
main.py
#_*_ coding: utf-8 _*_ from com.py.sample.test import Test
上記のようにfromの後ろにドット区切りでinit.pyを配置したフォルダを上位からインポート対象のモジュールファイルまで記載していきます。
6.実際に読み込んだパッケージを使ってみよう
では、main.pyに以下の1行を追加して実行してみましょう。
6-1.サンプルコード
main.py
#_*_ coding: utf-8 _*_ from com.py.sample.test import Test #=== 追加 === print str(Test.add(1, 2))
6-2.実行結果
root@dev:~/tmp/python# python main.py 3
以上