javascript - 在 node.js 中使用 python 脚本
问题描述
如何从我的 Node.js 应用程序调用 Python 函数以使用 python 的 face_recognition 库,我是 python 环境的新手。这是我的python脚本
import face_recognition
A = face_recognition.load_image_file('C:/Users/shivam/Desktop/facenet/database/x.jpg')
A_face_encoding = face_recognition.face_encodings(A)[0]
B = face_recognition.load_image_file('C:/Users/shivam/Desktop/facenet/database/y.jpg')
B_face_encoding = face_recognition.face_encodings(B)[0]
# Compare faces
results = face_recognition.compare_faces([A_face_encoding], B_face_encoding)
if results[0]:
print('Verified')
else:
print('Unverified')
如何将其修改为能够在 node.js“子进程”中使用
解决方案
最简单的方法是使用child_process.exec
执行您的 python 脚本并捕获结果。
这是您需要的代码:
const child_process = require('child_process');
const PYTHON_PATH = '/usr/bin/python3'; // Set the path to python executable.
const SCRIPT_PATH = 'script.py'; // Path to your python script
const command = `${PYTHON_PATH} "${SCRIPT_PATH}"`;
child_process.exec(command, function (error, stdout, stderr) {
if (error) {
console.error(`ERROR: ${error.message}`);
return;
}
if (stderr) {
console.error(`ERROR: ${stderr}`);
return;
}
// Do something with the result in stdout here.
console.log('Result:', stdout);
});
根据您的本地设置更新以下变量并运行它:
PYTHON_PATH
指向您的 python 可执行文件路径和SCRIPT_PATH
到 python 脚本的绝对(或相对)路径。
这只会调用脚本并从标准输出捕获它的输出。
假设,如果你有这样script.py
定义的 python 脚本:
print("Hello World")
您的节点脚本应输出:
Result: Hello World
一旦你让它工作,你可以用你的python脚本替换它。
推荐阅读
- javascript - 使用变量“默认”
- sql - Presto SQL 计数在数组列中出现并添加缺少的时间戳
- android - TFLite 转换改变模型权重
- r - 在 R 中将元素列表拆分为两个唯一列表(并获取所有组合)
- php - 在验证之后但在 Woocommerce 结帐中创建订单之前挂钩
- android - Android Studio 3.2:打开 HPROF 转储文件时找不到分析器任务窗格
- jquery - ExtJS 计数选定的煎茶盒
- google-chrome - Chrome 网络控制台中的“显示临时标题”警告
- django - Django 和 Postgres:关系不存在
- r - 带位置的连续字符匹配和提取