我有一个运行CNN训练/推断的python代码。通常,您将运行带有许多标志的代码,如下所示:
python MY_PYHTON_FILE train -XX flag1 -YY flag2 ....
我希望能够从生成训练样本的c ++代码运行该程序(并跳过将样本保存到c ++中的文件并在python中读取的阶段)。有没有办法调用python的“ main”函数并给出将存储在argv中的参数?
我正在使用带有python.h标头的c ++的Linux操作系统(ubuntu 18.04,但在将来的SL7中)工作
我尝试向python发送参数的通用代码如下所示:
Py_Initialize();
// Build the name object
pName = PyString_FromString(argv[1]);
// Load the module object
pModule = PyImport_Import(pName);
// pDict is a borrowed reference
pDict = PyModule_GetDict(pModule);
// pFunc is also a borrowed reference
pFunc = PyDict_GetItemString(pDict, argv[2]);
if (PyCallable_Check(pFunc))
.
. // prepare pArgs
.
pValue = PyObject_CallObject(pFunc, pArgs);
Py_Finalize();
但是在这种情况下,我需要更改python函数以接受参数。我想让args进入python的argv