Я хотел бы найти способ регистрировать каждую ошибку, которая вынуждает интерпретатора python выходить из файла, а также выводиться на экран. Причина, по которой я хотел бы сделать это, заключается в том, что я хочу вести статистику по типам ошибок, которые я делаю при написании кода, с целью найти способы избежать ошибок, которые я часто допускаю в будущем.
Я пытался сделать это, написав оболочку для интерпретатора Python с помощью модуля подпроцесса. По сути, он запускает интерпретатор python, захватывает любые выходные данные, анализирует и сохраняет их в файл, печатает выходные данные и использует matplotlib для создания некоторых сводных цифр. Однако у меня возникла проблема с получением вывода из моего сценария оболочки в режиме реального времени. Например, если я запускаю скрипт:
import os
import time
for x in range(10):
print "testing"
time.sleep(10)
и я использую subprocess.Popen () с p.communicate (), оболочка будет ждать 100 секунд, а затем печатать все выходные данные. Мне бы хотелось, чтобы оболочка была как можно более невидимой - в идеале в этом случае она будет печатать «тестирование» каждые десять секунд.
Если бы кто-то мог указать мне на хороший способ сделать это, я был бы очень признателен.
Спасибо!