0

这是我上一篇文章的延续。

球拍程序和python程序之间的通信

如果我尝试将其保持在不断写入和读取的循环中,则它不再起作用。

我的球拍代码:

#lang racket 

(define-values (sp i o e)
  (subprocess #f #f #f "C:/Python26/python.exe" "C:/Python26/hello.py")) 

(define counter 40) 

(let loop () 
  (display "play\n" o)     
  (flush-output o)     
  (display (read-line i)) 
  (when (> counter 0) (loop)))

我的python代码:hello.py

while 1: 
    input_var = raw_input() 
    print "you entered\n"
4

1 回答 1

2

Python 方面的代码可能不会刷新:您很可能再次遇到缓冲问题。尝试使用-u标志运行 python 以在 Python 端强制无缓冲的输出流。

如何刷新 Python 打印输出的答案?和禁用输出缓冲也可能是相关的。

于 2012-04-08T16:09:16.633 回答