如何在 R 中刷新打印缓冲区?

  • 本文关键字:打印 缓冲区 刷新 r
  • 更新时间 :
  • 英文 :


我想运行长时间运行的模拟并定期打印更新。但是,我发现我的print语句正在缓冲,即使我明确尝试flush.例如,在这里:

for (i in 1:10)
{
print(i)
flush(stdout())
Sys.sleep(1)
}

我希望它每 1 秒增加一次,但它会在 10 秒后最后输出所有内容。

如何强制刷新打印缓冲区?

我通常这样做:

for (i in 1:10) {
message(i,"r",appendLF=FALSE)
flush.console()
Sys.sleep(1)
}

您也可以使用cat()

for (i in 1:10) {
# Sleep for 1 second
Sys.sleep(1)
# Print the current iteration
cat(paste0("r", i))      
}

最新更新