Команда exec не работает с добавленными переменными, но работает без добавления переменных переменных - PullRequest
0 голосов
/ 13 мая 2019

Я пытаюсь выполнить файл Python, созданный CaryKH с именем jumpcutter.py, используя дочерний процесс

Это рабочая функция, в которой работает команда exec:

function executePython(){

  const { exec } = require('child_process');
  const path = require('path');
  var input = document.getElementById('input').value
  var output = document.getElementById('output').value
  var silent = document.getElementById('silent').value
  var sounded = document.getElementById('sounded').value
  var margin = document.getElementById('margin').value
  alert(input)

  exec('python jumpcutter.py --input_file wow.mp4 --output_file wowcut.mp4 --silent_speed 999999 --sounded_speed 1 --frame_margin 1')
}

Однако, когда я делаю это:

exec('python jumpcutter.py --input_file ' +input ' --output_file ' +output ' --silent_speed ' +silent ' --sounded_speed ' +sounded ' --frame_margin ' +margin)

код не работает полностью, поэтому даже предупреждение больше не работает, даже если раньше. Я уже пытался сохранить консольную команду в переменной с именем text, но без преобладания.

Заранее благодарю за любую помощь:)

1 Ответ

1 голос
/ 13 мая 2019

конкатенация строк неправильна

для объединения нескольких строк в одну синтаксис:

string1 + string2 + string3 + string4 + ....

, поэтому ваш код должен выглядеть следующим образом:

exec('python jumpcutter.py --input_file ' + input +' --output_file ' +output+ ' --silent_speed ' +silent+ ' --sounded_speed ' +sounded+ ' --frame_margin ' +margin)
...