引入模組

PyObject *PyImport_ImportModule(const char *name)
回傳值:新的參照。穩定 ABI 的一部分.

這是 PyImport_Import() 的包裝器 (wrapper),它使用 const char* 作為引數,而不是 PyObject*

PyObject *PyImport_ImportModuleNoBlock(const char *name)
回傳值:新的參照。穩定 ABI 的一部分.

這個函式是 PyImport_ImportModule() 的已棄用別名。

在 3.3 版的變更: 當引入鎖被其他執行緒持有時,這個函式過去會立即失敗。但在 Python 3.3 中,鎖機制轉換成針對每個模組的鎖 (per-module lock) 來達到大多數目的,所以這個函式的特殊行為就不再需要了。

自從版本 3.13 後不推薦使用,將會自版本 3.15 中移除。: 請改用 PyImport_ImportModule()

PyObject *PyImport_ImportModuleEx(const char *name, PyObject *globals, PyObject *locals, PyObject *fromlist)
回傳值:新的參照。

引入一個模組。這最好透過參考 Python 內建函式 __import__() 來說明。

回傳值是對引入的模組或頂層套件的新參照,或者是 NULL,失敗時會設定例外。就像 __import__() 一樣,當要求一個套件的子模組時,回傳值通常是頂層套件,除非給定一個非空的 fromlist

失敗的引入會移除不完整的模組物件,就像 PyImport_ImportModule() 一樣。

PyObject *PyImport_ImportModuleLevelObject(PyObject *name, PyObject *globals, PyObject *locals, PyObject *fromlist, int level)
回傳值:新的參照。穩定 ABI 的一部分 自 3.7 版本開始.

引入一個模組。這最好透過參考內建的 Python 函式 __import__() 來說明,因為標準的 __import__() 函式會直接呼叫這個函式。

回傳值是對引入的模組或頂層套件的新參照,或者是 NULL,失敗時會設定例外。就像 __import__() 一樣,當要求一個套件的子模組時,回傳值通常是頂層套件,除非給定一個非空的 fromlist

在 3.3 版被加入.

PyObject *PyImport_ImportModuleLevel(const char *name, PyObject *globals, PyObject *