gpt4 book ai didi

python - 一种包装另一个脚本以在python中进行错误处理并保持相同的命令行API的优雅方法

转载 作者:行者123 更新时间:2023-12-03 08:43:47 25 4
gpt4 key购买 nike

我有一个脚本,该脚本要包装一个错误处理程序,如果脚本失败,该处理程序将发送电子邮件。

简便的方法是:

try:
<script imports>
<script argument parse>
<script contents>
except Exception as e:
send_email(e)
raise

但是我觉得这个解决方案很麻烦。在保持原始脚本相同的命令行API的同时,还有哪些更优雅的方法呢?

编辑:拥有一个像 python email_wrap.py script_to_run.py <arguments>这样的API的解决方案将是很棒的。但是,我不确定如何操作命令行参数。

最佳答案

(此处为OP)我发现了如何做:
email_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

关于python - 一种包装另一个脚本以在python中进行错误处理并保持相同的命令行API的优雅方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59104625/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com