JavaScript Spawn: как передать переменную в FLAG в скрипте Python Spawn - PullRequest
0 голосов
/ 18 сентября 2018

У меня есть скрипт на Python, который имеет два флага --server и --image.

На данный момент в JavaScript я могу назначить фиксированное значение только для флагов, используя spawn. Например: (это дает результат)

var pyProg = spawn('python', ['./MLmodel/inception_client.py', '--server=30.220.240.190:9000', '--image=./testImage/DSC00917.JPG']);

pyProg.stdout.on('data', function (data) { console.log('This is result ' + data.toString());});

Однако я хочу назначить строковую переменную и передать строку в FLAG. Например: (Это неправильно, это не дает никакого вывода)

var imagePath = './testImage/DSC00917.JPG'

var pyProg = spawn('python', ['./MLmodel/inception_client.py', '--server=30.220.240.190:9000', '--image=imagePath']);

pyProg.stdout.on('data', function (data) { console.log('This is result ' + data.toString());});

Как мне заставить это работать? Заранее спасибо!

1 Ответ

0 голосов
/ 18 сентября 2018

Вы используете конкатенацию строк, как в любом другом месте в JavaScript. Если вы хотите, чтобы console.log печатал переменную, вы должны сделать это так:

console.log('image path is ' + imagePath);

или если вы используете интерполяцию строк ES6:

console.log(`image path is ${imagePath}`);

То же самое работает для вашего примера кода:

var imagePath = './testImage/DSC00917.JPG'
var pyProg = spawn('python', ['./MLmodel/inception_client.py', '--server=30.220.240.190:9000', '--image=' + imagePath]);
...