Я вызываю python скрипт из node js. Сценарий python извлекает данные из REST API и сохраняет их в кадре данных, а затем выполняет функцию поиска на основе пользовательского ввода. Я не понимаю, какой тип переменной python отправляет данные в node js в? Я пытался преобразовать в строку, но в node js говорится, что это неразрешенный тип переменной. Вот код:
r = requests.get(url)
data = r.json()
nested = json.loads(r.text)
nested_full = json_normalize(nested)
req_data= json_normalize(nested,record_path ='items')
search = req_data.get(["name", "id"," ])
#search.head(10)
filter = sys.argv[1:]
print(filter)
input = filter[0]
print(input)
result = search[search["requestor_name"].str.contains(input)]
result = result.to_String(index=false)
response = '```' + str(result) + '```'
print(response)
sys.stdout.flush()
Вот программа node js, которая вызывает вышеуказанный сценарий python. Как сохранить выходные данные в формате, который я могу передать другой функции в узле?
var input = 'robert';
var childProcess = require("child_process").spawn('python', ['./search.py', input], {stdio: 'inherit'})
const stream = require('stream');
const format = require('string-format')
childProcess.on('data', function(data){
process.stdout.write("python script output",data)
result += String(data);
console.log("Here it is", data);
});
childProcess.on('close', function(code) {
if ( code === 1 ){
process.stderr.write("error occured",code);
process.exit(1);
}
else{
process.stdout.write('done');
}
});