On Fri, Sep 5, 2014 at 2:32 PM, Crush <crushe...@gmail.com> wrote:
> Ok nevermind, I did not figure it out. My code...
>
> count = 0
> while count < 3:
>     count += 1
>     Subprocess.Popen('command')
> if count == 3:
>     sys.exit()
>
> This does not work as I want it to; it consecutively executes the command  
> three times in a row. I only want it to execute once. However, if there is an 
> error, I want it to try again, but only if count does not equal 3. If count 
> equals 3, i want it to give up and exit or do something else.

I don't know what "command" does, or what an "error" would mean for
your purposes - if you want an exact answer, you'll need to provide
more detail.  However, I'm going to assume that if an "error" occurs,
a Python exception of some sort gets raised.  If so, here's how I
would handle this:

count = 0
success = False
while (count < 3) and not success:
    try:
        Subprocess.Popen('command')
        success = True
    except:  # (you shouldn't use a bare except, but I don't know what
to expect)
        count +=1
sys.exit()
_______________________________________________
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
https://mail.python.org/mailman/listinfo/tutor

Reply via email to