Вывод в реальном времени из подпроцесса Python в блокноте JupyterPython

Программы на Python
Anonymous
Вывод в реальном времени из подпроцесса Python в блокноте Jupyter

Сообщение Anonymous »

Я использую подпроцесс для запуска программы командной строки из сценария Python (3.5.2), который я запускаю в блокноте Jupyter. Выполнение подпроцесса занимает много времени, поэтому я хотел бы, чтобы его стандартный вывод выводился на экран в блокноте Jupyter.

Я могу сделать это без проблем в обычный скрипт Python, запускаемый из терминала. Я делаю это, используя:

Код: Выделить всё

def run_command(cmd):
from subprocess import Popen, PIPE
import shlex

with Popen(shlex.split(cmd), stdout=PIPE, bufsize=1, universal_newlines=True) as p:
for line in p.stdout:
print(line, end='')
exit_code = p.poll()
return exit_code
Однако, когда я запускаю сценарий в блокноте Jupyter, он не выводит стандартный вывод на экран. Вместо этого он печатает все после завершения выполнения подпроцесса.

Есть ли у кого-нибудь идеи, как это исправить?

Большое спасибо,
Джонни

Подробнее здесь: https://stackoverflow.com/questions/386 ... r-notebook

Вернуться в «Python»