Python のパッケージインポートについてメモ。

パッケージインポートとは?

ディレクトリパスを指定してインポートを行う機能のこと。
モジュールサーチパスに指定するディレクトリが減らせたりできる。

__init__.py

インポート対象ディレクトリに必要なファイル。
初回インポート時にロードされる。

インポートしてみる1

まずテスト用のディレクトリとファイルを作成する。
構成は以下のようにする。

a.py
mod/b.py
mod/__init__.py

インポートしてみる2

mod ディレクトリを作成し、中に b.py ファイルを作成。

$ mkdir mod
$ vi mod/b.py
#!/usr/bin/env python
# -*- coding: utf8 -*-
# b.py
def show_test():
        print "in b.show_test()"
 
print "in b.py"

続けて __init__.py を作成。

$ vi mod/__init__.py
#!/usr/bin/env python
# -*- coding: utf8 -*-
# __init__.py
print "in __init__.py"

a.py ファイルを作成。

$ vi a.py
#!/usr/bin/env python
# -*- coding: utf8 -*-
# a.py
import mod.b as b
 
if __name__ == "__main__":
        b.show_test()

実行してみる

$ chmod +x a.py
$ ./a.py
in __init__.py
in b.py
in b.show_test()

雑感

知らなくても支障はないけど、知ってると便利。

関連エントリー:

Python で実装する IRCボット

vars, locals, globals + Python

Flask + Python 基礎

Request Counting アルゴリズム

株価や財務情報を取得するツール 2

 Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <img localsrc="" alt=""> <pre lang="" line="" escaped="" highlight="">