一种方便的golang调用python库的方式

由于一些原因,python库不方便使用golang重构实现,因此我们可以通过go调用python库的方式来达到实现需求的目的

  • 通过shell命令组装的方式调用python

主要使用到了go的os/exec包,以及python的-c参数

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
go复制代码func main(point int) {
var err error
var cmd *exec.Cmd
var datas []byte
py := "python"
flag := "-c"
importmodule := "import sys"
Target := "print(sys.path)"
params := fmt.Sprintf("%s;%s", importmodule, Target)
fmt.Println(params)
cmd = exec.Command(py, flag, params)
if datas, err = cmd.Output(); err != nil {
fmt.Println(err)
os.Exit(1)
}
fmt.Println(string(datas))

}
}

同样的,在使用其他自写python库时,先将python代码路径加入到sys.path路径下,再进行调用即可。

本文转载自: 掘金

开发者博客 – 和开发相关的 这里全都有

0%