前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Go:如何执行Python脚本

Go:如何执行Python脚本

作者头像
沈宥
发布2024-07-11 10:21:07
2160
发布2024-07-11 10:21:07
举报
文章被收录于专栏:从头开始学习测试开发

exec包

在 Go 语言中调用 Python 脚本可以使用 os/exec 包中的函数。先用 exec.Command 函数来创建一个 *exec.Cmd 结构体,然后调用这个结构体的 Run 方法来执行 Python 脚本。

具体实例

代码语言:javascript
复制
import (
	"bytes"
	"io"
	"io/ioutil"
	"os"
	"os/exec"
)

func ExecShellReturn(s string) (string, error) {
	//函数返回一个*Cmd,用于使用给出的参数执行name指定的程序
	cmd := exec.Command("/bin/bash", "-c", s)
	//读取io.Writer类型的cmd.Stdout,再通过bytes.Buffer(缓冲byte类型的缓冲器)
	//将byte类型转化为string类型(out.String():这是bytes类型提供的接口)
	var out bytes.Buffer
	cmd.Stdout = &out
	//Run执行c包含的命令,并阻塞直到完成。  这里stdout被取出,
	//cmd.Wait()无法正确获取stdin,stdout,stderr,则阻塞在那了
	err := cmd.Run()
	return out.String(), err
}

如何调用

代码语言:javascript
复制
shell = "python3 canary.py"

	log.Info("执行的shell语句: ", shell)
	result, _ := utils.ExecShellReturn(shell)
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-04-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 从头开始学习测试开发 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • exec包
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档