文档章节

nodejs如何利用rpc调用python

go-skyblue
 go-skyblue
发布于 2015/12/24 11:18
字数 276
阅读 1017
收藏 2

先来个例子

看一段nodejs代码

var py = require('node-python-rpc')();


var os = py.import('os');
console.log("cwd: %s", os.getcwd())

是不是感觉写起来有点python的感觉。不过这段代码运行起来,还需要用python启动一个rpc服务

python -mnodepythonrpc

实现其实也不是很复杂。

node与python之间的通信采用jsonrpc协议

而其中用到了一些特殊的python函数

  • nodejs: py.import('os') 用到了python的 __import__('os')
  • nodejs: os.getcwd() 调用的是python的 getattr(os, 'getcwd')()

项目的地址是 https://github.com/codeskyblue/node-python-rpc

目前还比较新,不过我会把他用到我目前的项目中,在实践中去检验它出现的问题。

参考了 node-python 的用法。 因为这个库在我的电脑上一直安装不上,我才打算在创造个轮子。

© 著作权归作者所有

共有 人打赏支持
go-skyblue

go-skyblue

粉丝 75
博文 50
码字总数 31881
作品 5
杭州
程序员
python用web3.py库开发以太坊dapp

以太坊作为最流行区块链平台,最大的特点是运行各种智能合约。我们已经出过node.js、java、php的以太坊开发实战教程,这一次是python。Python官方提供了一系列的Python包用于支持在Python应用...

jimi2018
08/31
0
0
远程通信协议:从 CORBA 到 gRPC

自从产业界发明机器联网的那一天就已经开始探索最优的远程通信机制。操作系统如 UNIX、Windows 和 Linux 等都有实现远程通信的内部协议,挑战在于如何向开发人员开放一个通信框架。 一、远程...

RiboseYim
2017/10/31
0
0
fpu = 'vfpv3' node

CentOs安装node.js遇到fpu = 'vfpv3' if armv7 else 'vfpv2' CentOS 5.6自带的Python版本是2.4.3,但是目前许多基于Python的应用软件要求的Python版本应要高于2.4(如iotop、nodejs、func 等...

奔小康
2013/08/22
0
0
ToRPC:一个双向RPC的Python实现

简介 ToRPC(Tornado + RPC) 是一个的基于Tornado IOLoop的异步TCP和双向通信的RPC的Python实现。ToRPC非常轻量级,性能优秀(尤其是在PyPy环境下)。 特性 异步 tcp 通信 异步、双向 rpc 地址...

toil
2015/11/07
0
3
debian5 安装node.js

node.js安装环境需要python的版本是2.6或者2.7以后的,而在debian5上默认的python版本是2.5的,所以第一步得先升级python版本,然后才能安装node.js。 1 安装编译环境 apt-get install buil...

China_OS
2013/10/14
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Bash重定向详解

Bash重定向详解 Bash的重定向指的是将命令的输入和输出导向不同地方,而不是默认的标准输入、标准输出和标准错误。Bash的重定向实际上是对标准输入、标准输出和标准错误的重置,进而将所需输...

小陶小陶
今天
3
0
EventBus原理深度解析

一、问题描述 在工作中,经常会遇见使用异步的方式来发送事件,或者触发另外一个动作:经常用到的框架是MQ(分布式方式通知)。如果是同一个jvm里面通知的话,就可以使用EventBus。由于Event...

yangjianzhou
今天
6
0
OpenCV图像处理实例:libuv+cvui显示摄像头视频

#include <iostream>#include <opencv2/opencv.hpp>#define CVUI_IMPLEMENTATION#include <cvui.h>extern "C"{#include <uv.h>}using namespace std;#define WINDOW_NAM......

IOTService
今天
3
0
openJDK之JDK9的String

1.openJDK8的String 先来看下openJDK8的String的底层,如下图1.1所示: 图1.1 底层上使用的是char[],即char数组 每个char占16个bit,Character.SIZE的值是16。 2.openJDK9中的String 图2.1...

克虏伯
今天
4
0
UEFI 模式下如何安装 Ubuntu 16.04

作者:知乎用户 链接:https://www.zhihu.com/question/52092661/answer/259583475 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 针对UEFI模式下安装U...

寻知者
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部