How to let a loop run for a while before checking for break condition?

Sorin Schwimmer sxn02 at yahoo.com
Mon Aug 28 14:57:07 EDT 2006


I am thinking on something in the following form:

<code>
import time
import thread

delay=True

def fn()
  global delay
  time.sleep(<your_amount_of_time_in_seconds>)
  delay=False

thread.start_new_thread(fn,())

while delay:
 <statement 1>
 <statement 2>
 ...

while <other_condition>:
 <statement 1>
 <statement 2>
 ...
</code>

Or, if you need to use "break", the second loop may be
something like:

<code>
while True:
 <statement 1>
 <statement 2>
 ...
 if <other_condition>: break
 <other_statements>
 ...
</code>

The two while loops have the same content, but the
first is terminated after a pre-determined amount of
time, while the second by another condition. Usually
the content of the too loops, being the same, is a
call to a function that does the actual work. In your
case, as time seems to be critical, you don't want to
spend it in function-call overheads, so you repeat
(cut'n'paste) the relevant code.

Of course, the price to be paid is in maintenance
headache: you'll have to make all the changes in both
loops, to keep consistency.

I hope this helps.

Sorin

__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 



More information about the Python-list mailing list