Изменить работающую программу на питоне
Я запустил программу на Python со многими вложенными циклами, и эта программа займет несколько дней. Я только что понял, что одно из значений цикла является неправильным и создает бесконечный цикл.
Я не хочу перезапускать программу с нуля, есть ли способ прервать текущую программу и изменить диапазон цикла, чтобы он работал правильно, а также, если он был захвачен бесконечным циклом, чтобы разорвать его?
Большое спасибо за вашу помощь.
2 ответа
Если программа время от времени сохраняет свое состояние или результаты, вы можете добавить логику, которая пропускает уже выполненные шаги.
В противном случае я не вижу способа изменить это.
Я думаю, довольно старая статья, но только что наткнулся сейчас. Если вы все еще хотите попробовать, вы можете сделать следующее:
Заставьте ваш скрипт работать под pdb как: python -m pdb
Это запустит его под pdb. После ввода pdb просто введите команду 'c' (продолжить). Это начнет вашу программу.
Когда вы сталкиваетесь с бесконечным циклом, просто нажмите Ctrl + C, чтобы остановить программу в отладчике. Теперь вы можете запускать любые операторы Python, какие захотите. Возможно, вы также можете определить новый скрипт, импортировать его и запустить функции из этого скрипта или выйти.
Я знаю, что не всегда хорошая идея работать под отладчиком, но, по крайней мере, вышесказанное решит то, что вы хотели.