使用 Go 语言的 os 包中的函数 exec.Command 来调用 Python 脚本中的命令。不仅可以执行python脚本。也适用于各种如shell命令等 第一种写法。
package main
import (
"os/exec"
"fmt"
"strings"
)
args := []string{"a.py", "第一个参数", "第二个参数"}
// out是执行完python脚本,脚本中输出的内容
out, err := exec.Command("python", args...).Output()
if err != nil{
println(fmt.Sprintf("err: %s", err))
}
//可以将out转换为string查看输出的具体内容
println(fmt.Sprintf("out: %s", out))
第二种写法
cmd := exec.Command("python", "a.py", "第一个参数", "第二个参数")
var out bytes.Buffer
var stderr bytes.Buffer
cmd.Stdout = &out
cmd.Stderr = &stderr
err := cmd.Start() //使用start即可无需关注执行脚本进度情况,可以理解为后台运行
if err != nil {
println(fmt.Sprintf("报错err: %s, 具体报错细节: %s", err.Error(), stderr.String())))
}
推荐阅读
发表评论