Использование Python print()
(или, насколько мне известно, любой другой генерации вывода консоли) в структурах l oop и запуск кода через reticulate в R, вывод печатается только после завершения выполнения. Например, возьмите следующее l oop, которое после каждой итерации засыпает на 1,5 секунды; номера прогонов печатаются в одном go после того, как l oop закончен. То же самое касается сохранения кода 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
")
Кто-нибудь знает, откуда происходит это поведение и, если возможно, как его обойти?