title: Breaking out of while True loop
body: <p>I have a python script which will parse xml file for serial numbers and will write them to a text file. The problem with the below code is, It is going on infinite loop. If I am adding a break statement some where after logging to a file, It is writing only one serial number. How do I increase the counter, so that the program will exit after writing all the serial numbers.</p>
  
  <pre><code>try:
      while True:
          data, addr = s.recvfrom(65507)
          mylist=data.split('\r')
          url = re.findall('http?://(?:[a-zA-Z]|[0-9]|[$-_@.&amp;+]|[!*\(\),]|(?:%[0-9a-fA-F][0-9a-fA-F]))+', data)
          print url[0]
          response = urllib2.urlopen(url[0])
          the_page = response.read()
  
          tree = ET.XML(the_page)
          with open("temp.xml", "w") as f:
              f.write(ET.tostring(tree))
  
          document = parse('temp.xml')
          actors = document.getElementsByTagName("ns0:serialNumber")
          for act in actors:
              for node in act.childNodes:
                  if node.nodeType == node.TEXT_NODE:
                          r = "{}".format(node.data)
                          print r
                          logToFile(str(r))
  
  time.sleep(10)
          s.sendto(msg, ('239.255.255.250', 1900) )
  
  except socket.timeout:
      pass
  </code></pre>