gpt4 book ai didi

go - 如何从 exec.Command 获取完整的 Stdout?

转载 作者:IT王子 更新时间:2023-10-29 01:02:07 27 4
gpt4 key购买 nike

我有这段代码,当它完成文本提取等操作时,我还想从 cmd.Stdout 获得完整输出

func main() {
cmd := exec.Command("readinggame")
cmd.Stdout = os.Stdout
cmd.Run()
}

完成后,我似乎无法找到以 []bytestring 形式获取输出的方法。顺便说一句,我不想​​用 ReadLine (或类似的东西)来迭代输出,这恰好工作得很好,我只是想要一个完整的输出,比如

var out bytes.Buffer
cmd.Stdout = &out
if err := cmd.Run(); err != nil {
log.Fatal(err)
}
fmt.Println(out.String())

最佳答案

这正是预期的结果...所需要的只是 io.MultiWriter

func main() {

cmd := exec.Command("ping", "google.com")

var out bytes.Buffer
multi := io.MultiWriter(os.Stdout, &out)
cmd.Stdout = multi

if err := cmd.Run(); err != nil {
log.Fatalln(err)
}

fmt.Printf("\n*** FULL OUTPUT *** %s\n", out.String())

}

关于go - 如何从 exec.Command 获取完整的 Stdout?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37024713/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com