python和node之间相互通信

文章介绍了如何在Node.js应用中使用python-shell模块与Python脚本进行通信。在Python端,通过sys.argv接收从Node.js传递的参数,如文件路径和数值。在Node.js端,配置PythonShell并监听脚本输出,实现数据的双向传递。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

概要

python和node之间通信,node 主要通过python-shell中的options传参给python文件,python文件通过sys.argv接收options内的参数

1.python页面

通过sys获取返回的数据

# index.py
#import numpy as np
#raw=np.fromfile(r'C:\Users\admin\Desktop\electron_plane\daw\1.raw',dtype='uint16')
# print(raw)

import sys // 引入sys模块获取node传来的数据
// sys.argv获取node传来的参数options.args
print(sys.argv) // 打印获取的数据(node页面接收print返回的数据)
// 返回数据为 ['\electron_plane\daw\1.raw',10,10]


2.node页面
// index.vue
// 引入vue插件 (python-shell) npm install python-shell
import { PythonShell } from "python-shell";
// 设置Python脚本文件路径
const scriptPath = "./src/components/index.py";

 // 设置传递给Python脚本的参数 
const args = [C:\Users\admin\Desktop\electron_plane\daw\1.raw, 10, 10];
// 配置PythonShell
 const options = {
   pythonPath: "python", // 设置Python解释器的路径
   args: args, // 设置传递给Python脚本的参数
    };

// 创建PythonShell实例
const pyshell = new PythonShell(scriptPath, options);

// 监听Python脚本的输出(接收python文件中print的输出)
pyshell.on("message", function (message) {
    console.log(message);
    });

// 监听Python脚本执行完成事件
pyshell.on("close", function () {
  console.log("Python脚本执行完成。");
    });
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值