如何在python中处理aria2c中的异常

时间:2016-04-07 04:25:00

标签: python

我是Python新手。我正在尝试使用aria2c下载文件,但我不确定如何在我的下载失败的情况下处理异常。任何人都可以帮我吗?

附加代码:

def sample():
value = "aria2c  -x 10 -k 1M -s 10 --http-user=%s --http-passwd='%s' %s" %(username, password, url)
      print value
      try:
          r=os.system(value)

我想抓住它并将其作为电子邮件发送。 有经验的人可以帮我解决这个问题吗?

2 个答案:

答案 0 :(得分:0)

我不熟悉aria2c,但你可以看看这个: https://aria2.github.io/manual/en/html/aria2c.html#exit-status

答案 1 :(得分:0)

通过ProtectedMethod和aria2c docs关联的os.system文档,您似乎只需要一堆if s(假设您正在运行此文件)现代操作系统上的标准shell。)

r = os.system(value)

if r == 0:
    handle_success()
elif r == 1:
    handle_unknown_error()
elif r == 2:
    handle_timeout()
# etc

另一种方法是定义错误代码到处理程序的映射:

handlers = {
    0: handle_success,
    1: handle_unknown_error,
    2: handle_timeout,
    # etc
}

r = os.system(value)
handlers[r]()