У меня есть код Python, который выполняет обучение / вывод CNN.Как правило, вы должны запускать код со многими флагами, как следует
python MY_PYHTON_FILE train -XX flag1 -YY flag2 ....
Я хотел бы иметь возможность запустить эту программу из кода C ++, который создает обучающий образец (и пропустить этап, на котором я сохраняю образецв файл в C ++ и читать его в Python).Есть ли способ вызвать основную функцию python и дать параметры, которые будут храниться в argv?
Я работаю в операционной системе Linux (Ubuntu 18.04, но в будущем SL7), используя c ++ с Python.Заголовок h, позволяющий запускать python
общий код, который я пробовал для отправки параметров в 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 входил в argv Python