Python: Как мне узнать, почему перезапускается IDLE? - PullRequest
0 голосов
/ 16 декабря 2009

Я использую Python 2.5 на Windows. Все, что я делаю, это распаковываю большой файл (18 МБ - список словарей) и модифицирую некоторые его значения. Теперь это работает отлично. Но когда я добавляю пару отпечатков, IDLE перезагружается. И, как ни странно, кажется, что это происходит там, где я добавил печать. Я понял это, комментируя и раскомментируя вещи построчно. Я добавил попытку поймать вокруг отпечатка, но не могу ничего поймать. Когда перезапускается IDLE? И как мне перехватить любые исключения или ошибки, которые он выдает (если он это делает)?

Ответы [ 2 ]

1 голос
/ 16 декабря 2009

Вы пробовали запустить свой скрипт из командной строки, а не из IDLE? Откройте командную строку и введите python, чтобы войти в интерпретатор Python. Посмотри, не сработает ли там тоже.

Во-вторых, вы должны попробовать использовать модуль pdb для отладки ваших скриптов Python. Это гораздо эффективнее, чем операторы print, поскольку вы можете пошагово просматривать код и проверять значения в любой момент сеанса отладки.

import pdb

test_var = 'this is a test'

# set this whenever you want to start a breakpoint
pdb.set_trace()

В сеансе отладки pdb вы можете переходить по строкам, нажимая 'n', и печатать значения напрямую, используя оператор print. Например, вы могли бы:

> print test_var
'this is a test'
0 голосов
/ 16 декабря 2009

Включите отладчик и посмотрите, говорит ли он вам.

...