简体   繁体   English

尝试使用exec.Command在golang中执行python(

[英]Trying to exec python in golang using exec.Command(

func execPython(fPath, colName, srv  string) (){
fmt.Println("Inside execPython")
cmd:= "python rfsvmchurn.py"
arg0 := "-fp " + fPath
arg1 := "-srv " + srv
arg2 := "-col " + colName
if err := exec.Command(cmd, arg0, arg1, arg2).Run(); err != nil {
    fmt.Println("Python Execution Error :",err)
}

} }

getting error Python Execution Error : exec: "python rfsvmchurn.py": executable file not found in $PATH 得到错误Python执行错误:exec:“ python rfsvmchurn.py”:在$ PATH中找不到可执行文件

Your issue is probably that you're passing flags and their arguments as a single string. 您的问题可能是您将标志及其参数作为单个字符串传递。 You should instead do: 您应该改为:

func execPython(fPath, colName, srv  string) (){
    fmt.Println("Inside execPython")
    arg0 := "-fp " + fPath
    arg1 := "-srv " + srv
    arg2 := "-col " + colName
    cmd := exec.Command("python", "rfsvmchurn.py", "-fp", fPath, "-srv", srv, "-col", colName)
    if err := cmd.Run(); err != nil {
        fmt.Println("Python Execution Error :",err)
    }
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM