用python包装另一个脚本以进行错误处理并保持相同的命令行API的优雅方式
我有一个脚本,我想包装一个错误处理程序,发送电子邮件,如果脚本失败 直接的方法是:用python包装另一个脚本以进行错误处理并保持相同的命令行API的优雅方式,python,error-handling,Python,Error Handling,我有一个脚本,我想包装一个错误处理程序,发送电子邮件,如果脚本失败 直接的方法是: try: <script imports> <script argument parse> <script contents> except Exception as e: send_email(e) raise 试试看: 例外情况除外,如e: 发送电子邮件(e) 提升 然而,我觉得这个解决方案很麻烦。在保持与原始脚本相同的命令行API的同时,还有什么更
try:
<script imports>
<script argument parse>
<script contents>
except Exception as e:
send_email(e)
raise
试试看:
例外情况除外,如e:
发送电子邮件(e)
提升
然而,我觉得这个解决方案很麻烦。在保持与原始脚本相同的命令行API的同时,还有什么更优雅的方法呢
编辑:如果有一个API解决方案,比如:python email\u wrap.py script\u to\u run.py
,那就太好了。但是,我不确定如何操作命令行参数。(请点击此处)我发现了如何操作:
电子邮件_wrap.py
import runpy
try:
scriptname_to_wrap = sys.argv[1]
sys.argv = [sys.argv[0]] + sys.argv[2:]
runpy.run_path(scriptname_to_wrap, run_name="__main__")
except BaseException as e:
send_email(e)
raise