On Tue, Apr 3, 2012 at 3:00 PM, Anatoli Hristov <toli...@gmail.com> wrote: > On 03 Apr 2012, at 22:45, Ian Kelly <ian.g.ke...@gmail.com> wrote: > >> On Tue, Apr 3, 2012 at 2:36 PM, Anatoli Hristov <toli...@gmail.com> wrote: >>> Hi, >>> >>> I'm trying to do a while loop with condition of time if time is >>> 12:00:00 print text, but for this one second the text is printed at >>> least 50 times, how can I print only once? >> >> Set a flag when you print the text to indicate that you've already >> printed it, and don't print it again if the flag is set. When it's no >> longer 12:00:00, reset the flag. >> >> That said, a busy while loop is probably the wrong way to do this, >> because it will run your CPU at 100%. Better would be to put the >> thread to sleep with time.sleep() calls or a real event loop with a >> timer event. >> >> Cheers, >> Ian > > Thank you Ian, > > what if I wait for other conditions if I use time.sleep for 1 sec? it > means that all the program is sleeping for a sec.
You can sleep for less than a second. 0.2 seconds or so allows a pretty nice response time while still limiting how much your script will spin the CPU. -- http://mail.python.org/mailman/listinfo/python-list