Go:运行外部 Python 脚本

标签 go exec

我曾尝试按照 Go 文档调用一个 python 脚本,该脚本仅从 GO 输出“Hello”,但直到现在都失败了。

exec.Command("script.py")

或者我也试过调用一个简单调用 python 脚本的 shell 脚本,但也失败了:

exec.Command("job.sh")

有什么想法可以实现吗?

编辑

我按照评论中的建议解决了问题,并添加了 exec.Command() 的完整路径。

最佳答案

您是否尝试添加 Run()Output() ,如:

exec.Command("script.py").Run()
exec.Command("job.sh").Run()

你可以看到它在“How to execute a simple Windows DOS command in Golang?”中使用(对于 Windows,但同样的想法适用于 Unix)

c := exec.Command("job.sh")

if err := c.Run(); err != nil { 
    fmt.Println("Error: ", err)
}   

或者,使用 Output(),如“Exec a shell command in Go”:

cmd := exec.Command("job.sh")
out, err := cmd.Output()

if err != nil {
    println(err.Error())
    return
}

fmt.Println(string(out))

关于Go:运行外部 Python 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27021517/

相关文章:

exec - google golang exec 退出状态 2 和 1

c - execl 调用的程序执行了多少次?

go - 无法从 Stripe 获取卡片品牌

Go 基准输出格式

go - 使用来自 nil 指针的数据进行结构初始化

Java 程序(class > .jar)作为 Unix shell(代替 sh/bash)?

c - 使用C将exec进程发送到后台?

go - 接口(interface)作为结构中的字段,接口(interface)调用将输入作为相同结构的方法

go - 注册表模式中的异步回复

android - 从 android 程序运行 shell 命令