Ipython Notebook, похоже, не печатает результаты в реальном времени, но, по-видимому, буферизуется определенным образом, а затем массово выводит отпечатки. Как заставить ipython печатать мои результаты сразу после обработки команды печати?
Пример кода:
import time
def printer():
for i in range(100):
time.sleep(5)
print i
Предположим, что указанный выше код находится в импортируемом файле. Как я могу это сделать, когда я вызываю функцию принтера, она печатает число каждые 5 секунд, а не все числа в самом конце?
Обратите внимание, что я не могу редактировать функцию printer()
, потому что получаю ее из какого-либо внешнего модуля. Я хочу как-то изменить конфигурацию ipython-ноутбука так, чтобы он не использовал буфер. Поэтому я также не хочу использовать sys.stdout.flush(), я хочу сделать это в режиме реального времени в соответствии с вопросом, я не хочу, чтобы какой-либо буфер начинался с.
Я также попробовал загрузить ipython ноутбук с помощью команды:
ipython notebook --cache-size=0
но это также не работает.