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 側のコードがフラッシュされていない可能性があります。バッファリングの問題が再び発生している可能性があります。-uPython 側でバッファリングされていない出力ストリームを強制するフラグを指定して python を実行してみてください。

Python print の出力をフラッシュする方法に対する答えは? および出力バッファリングを無効にすることも関連している可能性があります。

于 2012-04-08T16:09:16.633 に答える