由于一些原因,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
路径下,再进行调用即可。