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

4,039 阅读1分钟

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

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

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

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路径下,再进行调用即可。