¿Cómo insertar la variable de NodeJs en una secuencia de comandos python?
node js python communication (1)
Puede ejecutar el script de python con argumentos . Las options
que pasa a PythonShell.run()
tienen una propiedad llamada args
que puede usar para pasar argumentos al script de python. A continuación, puede leer estos argumentos de línea de comando desde el script de python e insertarlos donde sean necesarios.
argumentos de python-shell
var options = {
scriptPath: ''python/scripts'',
args: [command, comport], // pass arguments to the script here
};
secuencia de comandos python
# 0 is the script itself, technically an argument to python
script = sys.argv[0]
# 1 is the command arg you passed
command = sys.argv[1]
# 2 is the comport arg you passed
comport = sys.argv[2]
Estoy usando python-shell
para ejecutar mi script python dentro del entorno de NodeJs.
Tengo el siguiente código 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);
});
y necesito poder incluir el comando y la variable COMPORT en el script python controlLock
antes de que se ejecute el script (de lo contrario, no tendrá el valor correcto).
A continuación se muestra el archivo 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''))