从Python C扩展中导入和使用标准Python模块

zah*_*pov 5 c python python-c-api python-extensions

我有用C编写的Python扩展模块.我想在这个C代码中使用标准Python模块之一,例如osshutil.怎么做到这一点?

jfs*_*jfs 8

PyObject* os = PyImport_ImportModuleNoBlock("os");
if (os == NULL)
  return NULL;
someattr = PyObject_GetAttrString(os, "someattr");
Py_DECREF(os);
Run Code Online (Sandbox Code Playgroud)

如果仅导入模块一次,例如,在init_yourmodule()功能中使用PyImport_ImportModule("os").