モジュールオブジェクト—Pythonドキュメント

提供:Dev Guides
< PythonPython/docs/2.7/c-api/module
移動先:案内検索

モジュールオブジェクト

モジュールオブジェクトに固有の関数はごくわずかです。

PyTypeObject PyModule_Type
PyTypeObject のこのインスタンスは、Pythonモジュールタイプを表します。 これは、types.ModuleTypeとしてPythonプログラムに公開されています。
int PyModule_Check(PyObject *p)

p がモジュールオブジェクト、またはモジュールオブジェクトのサブタイプである場合はtrueを返します。

バージョン2.2で変更:サブタイプの受け入れを許可しました。

int PyModule_CheckExact(PyObject *p)

p がモジュールオブジェクトであるが、 PyModule_Type のサブタイプではない場合、trueを返します。

バージョン2.2の新機能。

PyObject *PyModule_New(const char *name)
__name__属性が name に設定された新しいモジュールオブジェクトを返します。 モジュールの__doc__および__name__属性のみが入力されます。 呼び出し元は、__file__属性を提供する責任があります。
PyObject *PyModule_GetDict(PyObject *module)
module の名前空間を実装するディクショナリオブジェクトを返します。 このオブジェクトは、モジュールオブジェクトの __ dict __ 属性と同じです。 この関数は決して失敗しません。 拡張機能は、モジュールの __ dict __ を直接操作するのではなく、他のPyModule_*()およびPyObject_*()関数を使用することをお勧めします。
char *PyModule_GetName(PyObject *module)
モジュール__name__値を返します。 モジュールが提供しない場合、または文字列でない場合は、SystemErrorが発生し、 NULL が返されます。
char *PyModule_GetFilename(PyObject *module)
モジュール__file__属性を使用して、モジュールがロードされたファイルの名前を返します。 これが定義されていない場合、または文字列でない場合は、SystemErrorを上げて、 NULL を返します。
int PyModule_AddObject(PyObject *module, const char *name, PyObject *value)

オブジェクトをモジュール名前として追加します。 モジュールの初期化関数から使用できる便利な関数です。 これにより、への参照が盗まれます。 エラーの場合は-1を返し、成功の場合は0を返します。

バージョン2.0の新機能。

int PyModule_AddIntConstant(PyObject *module, const char *name, long value)

modulename として整数定数を追加します。 この便利な関数は、モジュールの初期化関数から使用できます。 エラーの場合は-1を返し、成功の場合は0を返します。

バージョン2.0の新機能。

int PyModule_AddStringConstant(PyObject *module, const char *name, const char *value)

文字列定数を modulename として追加します。 この便利な関数は、モジュールの初期化関数から使用できます。 文字列 value はnullで終了する必要があります。 エラーの場合は-1を返し、成功の場合は0を返します。

バージョン2.0の新機能。

int PyModule_AddIntMacro(PyObject *module, macro)

モジュールにint定数を追加します。 名前と値はマクロから取得されます。 たとえば、PyModule_AddIntMacro(module, AF_INET)は、 AF_INET の値を持つint定数 AF_INETモジュールに追加します。 エラーの場合は-1を返し、成功の場合は0を返します。

バージョン2.6の新機能。

int PyModule_AddStringMacro(PyObject *module, macro)

モジュールに文字列定数を追加します。

バージョン2.6の新機能。