2019独角兽企业重金招聘Python工程师标准>>>

先来个例子

看一段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 的用法。 因为这个库在我的电脑上一直安装不上,我才打算在创造个轮子。

转载于:https://my.oschina.net/goskyblue/blog/550338

nodejs如何利用rpc调用python相关推荐

  1. c#利用ironPython调用Python研究过程

    c#利用IronPython调用python的过程种种问题 小菜鸟一枚,最新学习了Python,感觉语言各种简短,各种第三方类库爽歪歪,毕竟之前是从c#转来的,看到Python的request类各种爽 ...

  2. vba python 结合_xlwings利用VBA调用python

    安装配置完成后(与自定义函数UDFs的配置是一致的,加入xlwings加载项,alt+F11中引用xlwings等等常规操作后),通过 "RunPython"调用python代码. ...

  3. java执行python提示import os找不到_java利用Jython调用python抛出错误ImportError: No module named odbchelper...

    Python代码: import odbchelper def add(x, y): """ add method """ return x ...

  4. C++通过调用Python函数调用讯飞OCR识别接口

    关于C++调用python函数的配置,在前两篇博客中已有介绍: C++调用Python函数(一)--配置及测试 C++调用Python函数(二)--调用函数并输出返回值 最近做OCR字符识别方面的工作 ...

  5. matlab下调用python,numpy库函数的方法

    matlab下调用python,numpy库函数的方法 Matlab 调用 Python 下的脚本 这篇博文的目的是为了解决博主在用matlab的eig函数时遇到的一个问题: 博主在用matlab下的 ...

  6. C++调用python,并抓取每日一句名言

    作者:非妃是公主 专栏:<笔记><C++> <python学习> 个性签:顺境不惰,逆境不馁,以心制境,万事可成.--曾国藩 文章目录 前言 C++执行python ...

  7. Java:在Java中调用python文件执行

    目录 一.Java内置Jpython库(不推荐) 1.1 下载与使用 1.2 缺陷 二.使用Runtime.getRuntime()执行脚本⽂件 2.1 使用 2.2 缺陷 三.利用cmd调用pyth ...

  8. python 调用rpc服务_在Django项目中对Python函数进行RPC调用的优雅方式

    我正在尝试创建一个django网站来访问MySQL数据库中的数据.其目的是在Dojo(javascript)中创建一个UI.另外,我希望django后端也提供webservices(RPC for p ...

  9. python eel 多线程_利用Eel使JavaScript调用Python程序

    利用Eel使JavaScript调用Python程序 Eel简介 Eel是一个轻量的python桌面GUI开发第三方库, 它使用HTML/JS作为界面开发语言, 但是能够访问所有的python功能, ...

最新文章

  1. Python学习心得(二) 字典Dictionary
  2. 字节跳动Java高级工程师:java队列实现停车场出入
  3. 2018区块链生存指南:要做飞行的猪、摔不坏的弹球、未来的种子
  4. Android序列化:Serializable Parcelable
  5. DPDK精准测量时间
  6. 【译】Googler如何解决编程问题
  7. 一文了解Docker核心概念和安装配置
  8. java queue 清空_java swing清除事件队列
  9. The Learning route of GNN
  10. 2019年10月全国程序员工资统计,一半以上的职位5个月没招到人~
  11. 在html文档中添加 iconfont 图标
  12. 精品微信小程序班级打卡系统+后台管理系统|前后分离VUE
  13. 单片机c语言数字频率计的课程设计,课程设计基于单片机的简易数字频率计报告.doc...
  14. wifi物理地址怎么改_怎样修改手机的物理地址
  15. 如何使用node批量修改文件后缀名
  16. d3.js画金庸小说力导向图
  17. 安全狗获聘福建省网络与信息安全信息通报中心技术支撑单位
  18. MOSFET是什么器件,它的作用是什么
  19. 怎样删除具有trustedinstall权限的文件
  20. 华为C/C++笔试题(附答案,华为面试题系列)

热门文章

  1. mybatis源码分析(2)——事务概述
  2. EasyNet.Solr架构
  3. JavaScript函数大全
  4. PL/SQL学习笔记-过程
  5. 连接黑屏_连接百度Carlife后,MMI黑屏了?
  6. Xamarin无法调试Android项目
  7. SQLite的sqlite_master表
  8. scss安装_安装了这9个免费PS插件后,终于能正常时间下班了……
  9. burpsuite https 社区版_微软推出Visual Studio 2019 RC版 正式版预计四月到来
  10. 曲阜有学计算机的学校吗,曲阜职业中专计算机专业课程上几年