node python node.js python-3.x serial-port

¿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''))