文档章节

nodejs如何利用rpc调用python

go-skyblue
 go-skyblue
发布于 2015/12/24 11:18
字数 276
阅读 1059
收藏 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

粉丝 77
博文 50
码字总数 31881
作品 5
杭州
程序员
私信 提问
python利用web3.py开发以太坊应用dapp的实战教程

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

智能合约
2018/07/08
679
0
远程通信协议:从 CORBA 到 gRPC

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

RiboseYim
2017/10/31
0
0
微服务跨语言 gRPC 之 Java & Python

本文旨在说明 spring-boot-starter-grpc 框架与 Python 之间跨语言 RPC 调用的友好实现。阅读本文前,请详细阅读 wiki文档,以便了解 的工作原理。 Java Server & Client 模块说明: sample...

Anoyi
2018/09/29
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

没有更多内容

加载失败,请刷新页面

加载更多

前嗅ForeSpider教程:采集黄页88

以黄页88为例,采集当前列表页新闻的正文数据: 第一步:新建任务 ①点击左上角“加号”新建任务,如图1: 【图1】 ②在弹窗里填写采集地址,任务名称,如图2: 【图2】 ③点击下一步,选择进...

forespider
16分钟前
1
0
Spring Cloud Alibaba基础教程:Nacos 生产级版本 0.8.0

昨晚Nacos社区发布了第一个生产级版本:0.8.0。由于该版本除了Bug修复之外,还提供了几个生产管理非常重要的特性,所以觉得还是有必要写一篇讲讲这次升级,在后续的文章中也都将以0.8.0版本为...

程序猿DD
24分钟前
1
0
HTML+CSS实现div的高度自适应填满剩余空间的7种方法

如图上下两部分,上面部分适应内容的高度,下面部分填充剩余部分。 当下面内容不够时,在下面部分出现滚动条 有2种情况 1.上面内容的高度适应内容,只有2种方法(flex、quirks+table) 2.上面...

linsk1998
28分钟前
1
0
Oracle学习日志-8(查询结果排序)

要用到的表如下 书上写到,上面的查询结果排序是随机的,再执行几次结果可能不同,但是我执行多次后,查询结果的排序都是如此,是因为oracle的默认处理方式是按照物理储存顺序查询的,而我在...

白话
34分钟前
1
0
Data truncation: Incorrect datetime value: '0000-00-00 00:00:00' for column xxx

1. 错误提示 Data truncation: Incorrect datetime value: '0000-00-00 00:00:00' for column xxx 2. 问题分析 从上面的描述我们可以看出原因是:我们给类型是datetime的xxx字段赋值0000-00......

易冥天
37分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部