exec命令不适用于添加的变量,但是可以在不添加变量的情况下使用

时间:2019-05-13 16:49:13

标签: javascript node.js child-process

我正尝试使用子进程执行jumpcutter.py的{​​{3}}制作的python文件

这是一个有效的函数,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 个答案:

答案 0 :(得分:1)

字符串连接错误

要将多个字符串连接为一个,语法为:

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

因此您的代码应如下所示:

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