[Tutor] Making a function run every second.
Dave Angel
d at davea.name
Tue Nov 29 16:33:41 CET 2011
(You put your response in the wrong place; it belongs after the part
you're quoting.)
he
On 11/29/2011 10:19 AM, bodsda at googlemail.com wrote:
> You won't get it exactly on because the time it takes to call the function will affect your trigger time.
>
> I would use something like an infinite loop with a 1 second sleep after the function call
>
> Bodsda
> Sent from my BlackBerry® wireless device
>
> -----Original Message-----
> From: "Mic"<o0MB0o at hotmail.se>
> Sender: tutor-bounces+bodsda=googlemail.com at python.org
> Date: Tue, 29 Nov 2011 15:54:59
> To:<tutor at python.org>
> Subject: [Tutor] Making a function run every second.
>
> Hi
>
> I want a function to run every second , how do I do that?
>
> Say that the function look like this:
>
> def hi():
> print("hi")
>
>
> Thanks!
>
>
> Mic
Without a clearer spec, there are too many possible answers. As Bobsda
says, you can't get it exactly one second apart. But you also have the
problem of whether a drift is okay. For example, if you have a global
you're incrementing each time that function runs, and you want it to
represent the total time the program has been running, then a simple
sleep() is totally wrong.
What I was concerned about is that perhaps this is for one of the
tkinter programs Mic is writing. For an event-driven program, sleep()
calls of even a second are unaccepable. And if you literally write a
while loop like that, your whole program would stop responding.
So Mik:
Tell us more about the real requirements. Is drift acceptable, is this
a console program or some gui environment, are there any other hidden
assumptions?
--
DaveA
More information about the Tutor
mailing list