while True: try: temp = self.mplayerOut.readline() print temp if re.compile("^A:").search(temp):
The point of re.compile is to compile the re once *outside* the loop. Compiling the re is slow so you should only do it outside. As a first step replace re.compile with re.search if re.search("^A:",temp): print "abc" except StandardError: break As a second step move the compile before the loop reg = re.compile("^A:") Then inside the loop use the compiled expression if reg.search(temp): The first step should be faster, the second step faster still. Finally, lookaing at tyour regex you might be better using a simple string method - startswith() if temp.startswith("A"): That should be even faster still. HTH, Alan G Author of the Learn to Program web tutor http://www.freenetpages.co.uk/hp/alan.gauld _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor