go执行python脚本和执行脚本时传递参数

使用 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()))) 
}
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值