如何通过child_process中的变量并访问nodejs中的儿童过程中的变量

发布于 2025-02-12 11:05:52 字数 649 浏览 0 评论 0原文

parent.js

const {spawn} = require("child_process");

const encodeImage = (req,res)=>{
    try {
        const path = req.file.path;
        let dataToSend;

        const python = spawn('python', ['controllers/script.py']);
        
        python.stdout.on('data', function (data) {
            dataToSend = data.toString();
        });
        python.on('close', (code) => {
            res.send(dataToSend)
        });
    } catch (error) {
        console.log(error);
    }
}
    

for Child.py的代码。

import cv2 as cv

img = cv.imread(path)

Code for parent.js

const {spawn} = require("child_process");

const encodeImage = (req,res)=>{
    try {
        const path = req.file.path;
        let dataToSend;

        const python = spawn('python', ['controllers/script.py']);
        
        python.stdout.on('data', function (data) {
            dataToSend = data.toString();
        });
        python.on('close', (code) => {
            res.send(dataToSend)
        });
    } catch (error) {
        console.log(error);
    }
}
    

Code for child.py - Want to pass path variable as argument (for opencv function)

import cv2 as cv

img = cv.imread(path)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

狠疯拽 2025-02-19 11:05:52

最简单的方法可能是将其作为命令行参数传递:

在JavaScript代码中:

const python = spawn('python', ['controllers/script.py', path]);

在Python代码中:

import sys
import cv2 as cv

img = cv.imread(sys.args[1])

The easiest approach would probably be to pass it as a command-line argument:

In the JavaScript code:

const python = spawn('python', ['controllers/script.py', path]);

In the Python code:

import sys
import cv2 as cv

img = cv.imread(sys.args[1])
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文