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

0
Sharun 16 Дек 2009 в 04:04

2 ответа

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

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

import pdb

test_var = 'this is a test'

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

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

> print test_var
'this is a test'
1
Soviut 16 Дек 2009 в 04:12
Давно не использовал pdb. Спасибо за предложение. Попробую.
 – 
Sharun
16 Дек 2009 в 04:29

Включите отладчик и посмотрите, скажет ли он вам что-нибудь.

0
Tor Valamo 16 Дек 2009 в 04:12