2009年11月13日金曜日

Pythonのモジュール、パッケージ、インポート

モジュールとは.pyのテキストファイルそのものです(sysなど予め用意されているモジュールのことを標準モジュールと言う)。パッケージは、モジュールをフォルダ毎にまとめたものです。フォルダをパッケージとして認識させるには、__init__.pyという名前の空ファイルをフォルダに配置します。

[Folder]aaapkg → パッケージ

    __init__.py

    aaamod.py → モジュール

    [Folder]bbbpkg

        __init__.py

        bbbmod.py

モジュールやパッケージを他のモジュールから使う場合にはインポートが必要です。インポートの方法はいくつかあります。

importを使う場合

    import aaamod

    import bbbpkg.bbbmod

        bbbpkg.bbbmod.foo() → importを使う場合、呼び出しは「パッケージ」.「モジュール」.「関数」となる

fromを使う場合

    from aaamod import foo

    from bbbpkg.bbbmod import bar

        bar() → 呼び出しは関数などの要素名のみで使用できる

    from bbbpkg import bbbmod → パッケージに含まれるモジュールをインポート

        bbbmod.bar()

    from bbbpkg.bbbmod import * → モジュールに含まれるすべての要素をインポート

        bar()

なお、インポートするには、モジュールが検索パスに含まれている必要があります。検索パスは以下のように調べられます。カレントディレクトリも検索パスに含まれます。また、sys.path.append(c:\hoge)などのように、Pythonシェルが終了するまで一時的にパスを追加することもできます。

import sys

sys.path

0 件のコメント:

コメントを投稿