go beego框架与python实现数据交互
2024-08-31 05:01:39
目标:将go中一个二维数组传到pythone中处理并返回。难点在于数据格式的转换。
go代码如下:
package main import (
"os/exec"
"syscall"
"github.com/astaxie/beego"
"encoding/json"
) func main() {
a := [][]float64{
{1,2},
{3,4},
}
json_a,_:=json.Marshal(a)
string_a:=string(json_a)
cmd := exec.Command("python", "test.py",string_a)
cmd.SysProcAttr = &syscall.SysProcAttr{HideWindow: true}
var ret [][]float64
out, _ := cmd.Output()
err := json.Unmarshal(out, &ret)
beego.Debug(err)
beego.Debug(ret)
}
test.python文件如下:
import json def setParam(argv):
param={}
param["a"] = json.loads(argv[1])
return param if __name__ == '__main__':
param = setParam(sys.argv)
a = param["a"]
print(a)
可以看到python中处理的结果是将我们go中传来的二维数组原封不动返回回去。
数据传输过程如下:
1.在go中,先将二维数组用 json.Marshal 编码为json,并以字符串形式传到python中,传的时候使用命令行cmd。
2.在python中,使用 json.loads 将接收到的数据解码。并输出。(python输出的格式会自动转为json格式)
3.数据传回go中,在go中使用 json.Unmarshal 解码得到传回的数据。
最新文章
- Win10全屏看视频时任务栏不隐藏
- 前端应当了解的Web缓存知识
- 使用Fluent配置表关系
- MySQL提示符含义
- phpcms V9 首页模板文件解析
- Android 使用NDK编译sipdroid Library
- 常用SQL语句优化技巧
- Selenium2Library系列 keywords 之 _ElementKeywords
- Python的descriptor (2)
- centos 6.5安装esx sdk
- 抽空通过简书网学习了一下console,感觉高大上!
- ffmpeg常用参数一览
- ORACLE uuid自己主动生成主键
- 战争热诚的python全栈开发之路
- Asible第三章:roles--小白博客
- WPF模拟键盘输入和删除
- Redis Cluster集群知识学习总结
- Java日志输出问题
- C# List分页
- Ubuntu 下Anaconda3出现 conda:command not found(未找到命令)
热门文章
- Linux POSIX共享内存方法&;ipcs &;struct shmid_ds
- IGS OPC UA 配置
- Caffe入门:对于抽象概念的图解分析
- Netty(五)Netty 高性能之道
- Gym 101174D Dinner Bet(概率DP)题解
- 微服务架构Day05-SpringBoot之Servlet
- js array contains All In One
- 如何使用 js 检测页面上全局变量
- Flutter &; Scaffold &; multiple floatingActionButton
- SVG &; getBBox