本文介绍了进口并使用标准的Python模块Python的C扩展的内部的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我的Python扩展模块用C写的我想在这个C code中的标准Python模块之一来使用,例如操作系统
或 shutil
。如何最好做到这一点?
解决方案
的PyObject * OS = PyImport_ImportModuleNoBlock(OS);
如果(操作系统== NULL)
返回NULL;
someattr = PyObject_GetAttrString(OSsomeattr);
Py_DECREF(OS);
如果您导入模块只有一次例如,在 init_yourmodule()
函数然后使用 PyImport_ImportModule(OS)
。
I have Python extension module written in C. I want to use in this C code one of the standard Python modules, for example os
or shutil
. How is best to do this?
解决方案
PyObject* os = PyImport_ImportModuleNoBlock("os");
if (os == NULL)
return NULL;
someattr = PyObject_GetAttrString(os, "someattr");
Py_DECREF(os);
If you import the module only once e.g., in init_yourmodule()
function then use PyImport_ImportModule("os")
.
这篇关于进口并使用标准的Python模块Python的C扩展的内部的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!