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

时间:2012-04-08 00:08:08

标签: python racket

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

communcation between racket program and python program

如果我试图将此循环保持在连续写入和读取的循环中,则不再起作用。

我的球拍代码:

#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"

1 个答案:

答案 0 :(得分:2)

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

How to flush output of Python print?Disable output buffering的答案也可能相关。