Ich habe diesen Code, den ich auch die volle Leistung von cmd.Stdout
bekommen möchte, wenn seine für Textextraktion durchgeführt, usw.Wie bekomme ich vollen Stdout von exec.Command?
func main() {
cmd := exec.Command("readinggame")
cmd.Stdout = os.Stdout
cmd.Run()
}
Ich kann keinen Weg, um die Ausgabe entweder als []byte
scheinen zu finden, oder string
wenn es fertig ist. BTW Ich will nicht mit ReadLine
(oder etwas ähnlichem) über den Ausgang Iterieren sein, die gut funktionieren passiert, ich habe gerade eine volle Leistung bei einem gehen will, so etwas wie
var out bytes.Buffer
cmd.Stdout = &out
if err := cmd.Run(); err != nil {
log.Fatal(err)
}
fmt.Println(out.String())
Was ist falsch mit der Verwendung der bytes.Buffer? Warum nicht 'cmd.Output' oder' cmd.CombinedOutput' verwenden? – JimB
Mit dem 'Bytes.Buffer' ist der Fehler, dass ich nichts aus' cmd.Stdout' bekommen kann, da ich bereits alle Daten zu 'os.Stdout' gestreamt habe. Ich kann 'cmd.Output' bcos nicht verwenden. Ich möchte die Ausgabe im Fall einer lang laufenden Anwendung auf den' os.Stdout' streamen –