从R调用python,即时输出到控制台

我使用R命令从R运行
python脚本:

system('python test.py')

但是我的test.py中的print语句在python程序完成之前不会出现在R控制台中.我想查看打印语句,因为python程序在R里面运行.我也尝试过sys.stdout.write(),但结果是一样的.任何帮助是极大的赞赏.

这是我的test.py代码:

import time

for i in range(10):
  print 'i=',i
  time.sleep(5)

最佳答案 使用R v3.0.1在Windows 8上测试

只需右键单击r控制台,然后取消选中/取消选择Buffered Output选项(参见下图).现在执行你的代码你将看到print语句的输出!

更新:

我忘了提到我还需要在python文件中的print语句之后添加sys.stdout.flush().

import time
import sys

for i in range(5):
    print 'i=',i
    sys.stdout.flush()
    time.sleep(1)

此外,如果您选择“缓冲输出”选项,则在脚本执行时左键单击r控制台时,您将看到输出.继续单击,显示输出. 🙂

点赞