Удалить попробовать, кроме: передать блок в Python

Есть ли способ удалить код, подобный этому

try:
 # some code
 # ...
except:pass

только код внутри try блок?

причина в том, что предыдущий разработчик написал, где каждый код имеет это (более 1000 строк и несколько файлов), поэтому любая ошибка в коде не может быть распечатана.

Я пытался вручную, используя поиск и замену, чтобы изменить try: а также except:pass к '', но это утомительно, слишком много времени и проблема с отступом.

помочь.. это дает мне головную боль...

2 ответа

Решение

Просто найти / заменить except:pass с except:raise если вам нужно исправить текущую ошибку.

Хотя, в конце концов, вам придется прикусить пулю и на самом деле исправить код.

Параметры могут немного отличаться в зависимости от того, какую IDE и ОС вы используете. Вот метод, который должен работать на вариантах Linux и Mac.

grep -r "except:pass" -l * | xargs sed -i .bak 's/except:pass/except: import sys; print(sys.exc_info()[0])/g'

grep находит каждый файл, содержащий "кроме: проход" в текущей папке или любых подпапках, а затем передает этот список файлов sed, который заменяет бесполезный код универсальным оператором печати исключения.

Другие вопросы по тегам