在循环结构中使用 Python print()
(或据我所知,任何其他控制台输出生成)函数并通过R 中的reticulate运行代码,输出仅在执行完成后打印。例如,以下循环在每次迭代后休眠 1.5 秒;循环结束后,运行编号全部打印出来。将 Python 代码保存到单独的 .py 文件然后运行reticulate::py_run_file()
.
library(reticulate)
py_run_string("
import time
for i in range(5):
print(str(i))
time.sleep(1.5) # sleep for 1.5 sec
")
有谁知道这种行为来自哪里,如果可能的话,如何规避它?