这是我上一篇文章的继续。
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"
答案 0 :(得分:2)
Python方面的代码可能不会出现故障:很可能你再次遇到缓冲问题。尝试使用-u
标志运行python以强制Python方面的无缓冲输出流。
How to flush output of Python print?和Disable output buffering的答案也可能相关。