将参数传递给Python C API函数调用
我试图从C++调用Python函数。然而,我不知道如何将参数传递给python函数调用将参数传递给Python C API函数调用,python,c++,Python,C++,我试图从C++调用Python函数。然而,我不知道如何将参数传递给python函数调用 我有一个名为“ARBNAME.PY”的Python文件,以及一个名为“Meal.CPP”的C++文件。 arbName.py main.cpp 这是我在这里的第一个问题,所以有反馈也很好!你的意思是分析命令行参数?它是将intmain()更改为intmain(intargc,char*argv[])。然后在argv中有参数。我的意思是向python函数传递一个变量。看起来你自己找到了答案! def someF
我有一个名为“ARBNAME.PY”的Python文件,以及一个名为“Meal.CPP”的C++文件。 arbName.py
main.cpp这是我在这里的第一个问题,所以有反馈也很好!你的意思是分析命令行参数?它是将
intmain()
更改为intmain(intargc,char*argv[])
。然后在argv
中有参数。我的意思是向python函数传递一个变量。看起来你自己找到了答案!
def someFunction(a):
return a
#include <Python.h>
int main()
{
Py_Initialize();
//add . to path
PyRun_SimpleString("import sys");
PyRun_SimpleString("sys.path.append(\".\")");
PyObject* myModuleString = PyUnicode_FromString((char*)"arbName");
PyObject* myModule = PyImport_Import(myModuleString);
PyObject* myFunction = PyObject_GetAttrString(myModule,(char*)"someFunction");
//couldn't figure out this part.
//How to declare a python variable and/or pass it to the python function.
PyObject* args = PyUnicode_FromString("1");
PyObject *myResult = PyObject_CallFunctionObjArgs(myFunction, args);
return 0;
}
PyObject* args = Py_BuildValue("(d)", 2.0);
PyObject *myResult = PyObject_CallObject(myFunction, args);