1. 执行脚本
如下golang可以执行python脚本
package main
import (
"fmt"
"os/exec"
)
func main() {
cmd := exec.Command("/usr/local/bin/python3.9", "/Users/haha/GolandProjects/awesomeProject5/test.py")
// 命令的错误输出和标准输出都连接到同一个管道
stdout, err := cmd.StdoutPipe()
cmd.Stderr = cmd.Stdout
if err != nil {
return
}
err = cmd.Start()
if err != nil {
return
}
// 从管道中实时获取输出并打印到终端
for {
tmp := make([]byte, 1024)
_, err := stdout.Read(tmp)
fmt.Print(string(tmp))
if err != nil {
break
}
}
if err = cmd.Wait(); err != nil {
return
}
}
python脚本如下:
#!usr/bin/python3 assert 3 == 4
执行结果:
Traceback (most recent call last): File "/Users/haha/GolandProjects/awesomeProject5/test.py", line 2, inassert 3 == 4 AssertionError err = exit status 1



