title: Using a while loop only once
body: <p>I am working on a simple program to email me the weather in my city each morning. At the moment, it works, but only once. Using a while loop works, but since I have it set to,</p>
  
  <pre><code>while time == 0600:
      send my mail etc
  </code></pre>
  
  <p>Now obviously, that makes it so for the entirety of that minute, I get spammed with mail. So I need to figure out a way for something to happen once, every 24 hours.</p>
  
  <p>Here is my full code (currently only working once, until I restart it).</p>
  
  <pre><code>import smtplib, pywapi, datetime
  weather = True
  loopmsg = True
  loopmsg1 = True
  def send():
      loopmsg = True
      loopmsg1 = True
      global weather
      while weather == True:
          if loopmsg == True:
              print('Initial Loop Initiated')
              loopmsg = False
          time = datetime.datetime.now()
          time = str(time)
          time = time[11:]
          time = time[:-10]
          time = time.replace(":", "")
          time = int(time)
          fromaddr = 'xxx'
          toaddrs  = 'xxx'
          while time == 0600:
              print('Time is correct')
              weather_com_result = pywapi.get_weather_from_weather_com('ASXX0075')
              msg = "It is " + weather_com_result['current_conditions']['text'].lower() + " and " + weather_com_result['current_conditions']['temperature'] + "°C in Your City."
              msg = msg.encode('utf-8')
  
              # Credentials (if needed)
              username = 'xxx'
              password = 'xxx'
  
              # The actual mail send
              server = smtplib.SMTP('smtp.gmail.com:587')
              server.starttls()
              server.login(username,password)
              server.sendmail(fromaddr, toaddrs, msg)
              server.quit()
              print('Sent')
              #weather = False
  
      #while weather == False:
        #  if loopmsg1 == True:
           #   print('Second Loop Initiated')
           #   loopmsg1 = False
         # while time &gt; 0600:
             # send()
  
  send()
  </code></pre>