我正在使用python-shell
在我的NodeJs环境中运行我的python脚本。
我有以下NodeJs代码:
var PythonShell = require('python-shell');
var command = 'open1';
var comport = 6;
var options = {
scriptPath: 'python/scripts'
};
PythonShell.run('controlLock.py', options, function (err, results) {
if (err) throw err;
console.log('results: %j', results);
});
我需要能够在执行脚本之前将命令和COMPORT变量包含在python controlLock
脚本中(否则它将没有正确的值)。
以下是controlLock.py
文件
import serial
ser = serial.Serial()
ser.baudrate = 38400 #Suggested rate in Southco documentation, both locks and program MUST be at same rate
ser.port = "COM{}".format(comport)
ser.timeout = 10
ser.open()
#call the serial_connection() function
ser.write(("%s\r\n"%command).encode('ascii'))
答案 0 :(得分:3)
你可以run the python script with arguments。传递给options
的{{1}}有一个名为PythonShell.run()
的属性,您可以使用该属性将参数传递给python脚本。然后,您可以从python脚本中read these command line arguments并插入所需的位置。
args
参数
python-shell
python脚本
var options = {
scriptPath: 'python/scripts',
args: [command, comport], // pass arguments to the script here
};