Я создаю REPL / оболочку в go для других языков.
У меня есть следующий код, и я ожидаю, что будет напечатано 2, но ничего не напечатано.
grepCmd := exec.Command("python")
grepIn, _ := grepCmd.StdinPipe()
grepOut, _ := grepCmd.StdoutPipe()
grepCmd.Start()
grepIn.Write([]byte("1+1")) <- assume this is fixed and we cannot use print().
//grepIn.Write([]byte("print(1+1)")) This one returns 2
grepIn.Close()
grepBytes, _ := ioutil.ReadAll(grepOut)
grepCmd.Wait()
fmt.Println(string(grepBytes)
Я не спрашиваю, как использовать cmd.stdout = os.stdout
.