Перемещение или управление массивом между скриптом python и программой на c ++ с помощью вызова подпроцесса - PullRequest
0 голосов
/ 20 января 2020

Я запускаю сценарий python, который выполняет скомпилированную программу через функцию вызова подпроцесса. В скрипте python создается массив numpy, который содержит важные данные. У меня есть другой исполняемый файл, который может выполнять математическую функцию на этом массиве. Мне нужно запустить этот скрипт python, создать массив numpy, каким-то образом вставить этот массив в программу, которую я выполняю через вызов подпроцесса (или любой другой способ работает нормально), а затем получить результаты обратно.

Вот грубый пример того, что я надеюсь выполнить: sh

Python скрипт будет выглядеть примерно так:

import numpy
from subprocess import call

MyNumpyArray = numpy.zeroes(shape=(2,4))

#Stick MyNumpyArray into this exe program
call(["./program.exe"])
#Fish the MyNumpyArray out after the exe file does its own thing to it.

И код C ++ из program.exe будет выглядеть примерно так. (Я могу отредактировать и скомпилировать эту программу на C ++)

int main () {
//Retrieve the MyNumpyArray from the python script

//Do stuff

//Output it back to the python script
}

Есть ли простой способ сделать это?
Заранее всем спасибо

...