title: python - loop at exact time intervals
body: <p>I want to run a piece of code at exact time intervals (of the order of 15 seconds)
  Initially I used time.sleep(), but then the problem is the code takes a second or so to run, so it will get out of sync.</p>
  
  <p>I wrote this, which I feel is untidy because I don't like using while loops. Is there a better way?</p>
  
  <pre><code>import datetime as dt
  import numpy as np
  
  iterations = 100
  tstep = dt.timedelta(seconds=5)
  for i in np.arange(iterations):
      startTime = dt.datetime.now()
      myfunction(doesloadsofcoolthings)
      while dt.datetime.now() &lt; startTime + tstep:
          1==1
  </code></pre>