Документация Python неофициальный перевод

Объекты модулейModule Objects

Есть лишь несколько функций, специфичных для объектов модуля.

PyTypeObject PyModule_Type

Этот экземпляр PyTypeObject представляет тип модуля Python. Он доступен программам на Python как types.ModuleType.

int PyModule_Check(PyObject *p)
Возвращает истину, если p является объектом модуля или подтипом объекта модуля.
int PyModule_CheckExact(PyObject *p)
Возвращает true, если p является объектом модуля, но не подтипом PyModule_Type.
PyObject* PyModule_New(const char *name)
Возвращаемое значение: новая ссылка.

Возвращает новый объект модуля с атрибутом __name__, установленным в name. Заполнены только атрибуты модуля __doc__ и __name__; вызывающий отвечает за предоставление атрибута __file__.

PyObject* PyModule_GetDict(PyObject *module)
Возвращаемое значение: заимствованная ссылка.

Возвращает объект словаря, который реализует пространство имён module; этот объект совпадает с атрибутом __dict__ объекта модуля. Эта функция никогда не завершается ошибкой. Расширениям рекомендуется использовать другие функции PyModule_* и PyObject_*, а не напрямую манипулировать __dict__ модуля.

char* PyModule_GetName(PyObject *module)

Возвращает значение __name__ для объекта module. Если модуль не предоставляет его или если это не строка, возбуждается SystemError и возвращается NULL.

char* PyModule_GetFilename(PyObject *module)

Возвращает имя файла, из которого был загружен модуль, используя модуль‘s __file__ атрибут. Если этот атрибут не определён или не является строкой, возбуждает SystemError и возвращает NULL.

int PyModule_AddObject(PyObject *module, const char *name, PyObject *value)
Добавляет объект в module под именем name. Это удобная функция, которую можно использовать в функции инициализации модуля. Она похищает ссылку на value. Возвращает -1 при ошибке, 0 при успехе.
int PyModule_AddIntConstant(PyObject *module, const char *name, long value)
Добавляет целочисленную константу в модуль module под именем name. Эту удобную функцию можно использовать из функции инициализации модуля. Возвращает -1 в случае ошибки, 0 при успешном выполнении.
int PyModule_AddStringConstant(PyObject *module, const char *name, const char *value)
Добавляет строковую константу в module под именем name. Эту вспомогательную функцию можно использовать в функции инициализации модуля. Строка value должна завершаться нулевым символом. Возвращает -1 при ошибке, 0 при успехе.
int PyModule_AddIntMacro(PyObject *module, macro)
Добавляет целочисленную константу в module. Имя и значение берутся из macro. Например, PyModule_AddConstant(module, AF_INET) добавляет целочисленную константу AF_INET со значением AF_INET в module. Возвращает -1 при ошибке, 0 при успехе.
int PyModule_AddStringMacro(PyObject *module, macro)
Добавляет строковую константу в module.