python - Convert a while loop to something reusable -


i find myself using pattern this:

num_repeats = 123 interval = 12  _ in xrange(num_repeats):     result = ...     if result meets condition:          break     time.sleep(interval)  else:     raise failed despite multiple attempts 

basically, repeats code until correct result returned, or counter expires.

although works, looks verbose me. possible "parametrize" loop reusable function or context manager, example

with repeat(num_repeats, interval):     code 

or maybe there's in standard library trick?

you can use generator sleeps before returning repeated results. advantage caller still genuine loop, break, continue, else semantics still in tact.

def trickle_range(num_repeats, interval):     yield 0     k in xrange(1, num_repeats):           time.sleep(interval)           yield k   k in trickle_range(num_repeats, interval):     ... stuff, iterate or break ... 

Comments

Popular posts from this blog

windows - Single EXE to Install Python Standalone Executable for Easy Distribution -

c# - Access objects in UserControl from MainWindow in WPF -

javascript - How to name a jQuery function to make a browser's back button work? -