删除 python 中的 try except:pass 块

remove try except:pass block in python

有没有办法删除这样的代码

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

只到 try 块内的代码 ?

原因是以前的开发者写的每个代码都有这个(超过1000多行和多个文件),因此代码中的任何错误都无法打印出来。

我尝试手动使用查找和替换将 try:except:pass 更改为 '' 但它很累,太耗时并且缩进有问题。

求助..这让我很头疼...

根据您使用的 IDE 和 OS,选项会有所不同。这是一种适用于 Linux 和 Mac 变体的方法。

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

grep 查找当前文件夹或任何子文件夹中包含 "except:pass" 的每个文件,然后将此文件列表传递给 sed,这会用通用异常替换无用代码打印语句。

如果您需要修复当前的错误,只需 find/replace except:passexcept:raise

尽管最终您将不得不硬着头皮修复代码。