我正在搜索一个非常小而简单的示例,以在C app中加载python模块。在我搜索的每个地方,我看到很长的例子,我不明白。如果这是重复共享stackoverflow链接,我将删除此问题。谢谢你,我是Python的新手。
答案 0 :(得分:4)
创建一个Python模块名称reverse.py,如下所示:
def rstring(s):
i = len(s)-1
t = ''
while(i > -1):
t += s[i]
i -= 1
return t
创建一个C应用程序,如下所示:
#include <Python.h>
int main()
{
PyObject *strret, *mymod, *strfunc, *strargs;
char *cstrret;
Py_Initialize();
PySys_SetPath(".");
mymod = PyImport_ImportModule("reverse");
strfunc = PyObject_GetAttrString(mymod, "rstring");
strargs = Py_BuildValue("(s)", "Hello World");
strret = PyEval_CallObject(strfunc, strargs);
PyArg_Parse(strret, "s", &cstrret);
printf("Reversed string: %s\n", cstrret);
Py_Finalize();
return 0;
}
现在请务必将reverse.py和您的C应用程序保存在同一个文件夹中。之后请编译并运行C Sample Application。
请研究以上样本中的每一行,因为总共约有20行,如果您对任何行有疑问,请告诉我,我很乐意回答。
由于我已经更正了这些样本,因此会将信用转到SO链接:Embedding Python into C - importing modules