python子进程处理异常

时间:2016-06-07 15:26:09

标签: python subprocess

我正在尝试处理来自Popen的异常和错误,但我可以从send处理它。我如何处理tar和pigz? 这是我的代码:

    try:
        tar = Popen("tar cPf - %s" %pth, shell=True, stderr=PIPE, stdout=PIPE)
        pigz = Popen("pigz -1 -kc", stdin=tar.stdout, shell=True, stdout=PIPE, stderr=PIPE)
        send = Popen("./s3cmd -c ./.s3cfg sync - s3://%s/%s.tar.gz" %(bucket_name,filename), stdin=pigz.stdout, shell=True, stderr=PIPE, stdout=PIPE)
        send_err = send.communicate()[1]
        tar.stdout.close()
        pigz.stdout.close()
        tar.wait()
        pigz.wait()
        if send_err:
            print send_err
            return False
        else:
            return True
    except:
            return False

0 个答案:

没有答案