Вывод в реальном времени из подпроцесса 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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