如何在golang中将stdout的输出转换为字符串

时间:2016-09-13 20:05:53

标签: go

我有以下代码将stdout中的数据输出到文件:

{{1}}

我需要将stdout的输出变为字符串值而不是文件。我如何实现这一目标?

是否有另一个函数允许我将io.Copy行更改为io.Copy(myStringVariable,stdoutPipe),因为我需要读取命令的输出并对其应用一些处理?

提前致谢

2 个答案:

答案 0 :(得分:6)

您不需要管道,编写器,goroutine等。只需使用Cmd.Output

即可
out, err := exec.Command("ls","lh").Output()

您可以根据需要将输出[]byte转换为string string(out)

答案 1 :(得分:2)

您可以将文件设置为命令f, err := os.Create("./out.txt") if err != nil { panic(err) } defer f.Close() cmd := exec.Command("ls", "-lh") cmd.Stdout = f cmd.Stderr = os.Stderr if err := cmd.Run(); err != nil { panic(err) }

CMD python3 test.py hello