Q
運行時鐘和觸發
3
A
回答
1
import time
while True:
time.sleep(5)
someFunction()
作爲gnibbler說,間隔實際上將(5秒+需要運行someFunction的時間)。如果您需要5秒:
targetTime = time.time()
while True:
someFunction()
targetTime += 5
sleepTime = targetTime - time.time()
if sleepTime>0:
time.sleep(sleepTime)
+0
這會觸發每個(5秒+運行'someFunction'所需的時間) – 2010-02-11 00:02:59
+0
你是對的,增加了一個更精確的版本 – interjay 2010-02-11 00:15:11
+0
好的+1然後(額外的廢話彌補15個字符) – 2010-02-11 00:30:13
1
您可以使用sched模塊中的調度程序。
只是讓計劃的函數在每次完成時重新安排自己。
4
>>> import sched, time
>>> s = sched.scheduler(time.time, time.sleep)
>>> def print_time():
... s.enter(5, 1, print_time,())
... print "From print_time", time.time()
...
>>> s.enter(0, 1, print_time,())
Event(time=1265846894.4069381, priority=1, action=<function print_time at 0xb7d1ab1c>, argument=())
>>> s.run()
From print_time 1265846894.41
From print_time 1265846899.41
From print_time 1265846904.42
From print_time 1265846909.42
相關問題
- 1. 即時觸發Android鬧鐘
- 2. 克倫觸發器與石英運行在每分鐘
- 3. 當有鬧鐘時,BroadcastReceiver不會觸發
- 4. 運行準確的時鐘
- 5. 時間觸發器未運行
- 6. PreApplicationStartMethod何時被觸發運行?
- 7. 應用未運行時觸發報警
- 8. Oracle - 插入後運行的觸發器何時運行?
- 9. 在指定時間沒有觸發鬧鐘和通知
- 10. 在特定日期和時間運行觸發器
- 11. 觸發器未運行
- 12. 如何以x時間(分鐘和小時)運行任務
- 13. 克朗觸發器每小時運行一小時一小時
- 14. PHP腳本運行下到Windows時鐘
- 15. 運行60分鐘後JUnit超時
- 16. Python:每秒運行一次循環並觸發5秒鐘功能
- 17. onserverclick在運行時添加屬性時不會觸發c#
- 18. Windows Phone 8.1運行時 - 後臺任務時間觸發器
- 19. SQL觸發1行同時
- 20. 在整個foreach運行後觸發一個觸發器
- 21. 插入多行時,觸發器不會觸發所有行SQL
- 22. PostgreSQL觸發和行更新
- 23. Mouseenter和MouseLeave同時觸發
- 24. Asp:RangeValidator和Asp:RegularExpressionValidator同時觸發
- 25. RequiredFieldValidator和CustomValidator同時觸發?
- 26. CUDA扭曲發散和時鐘週期
- 27. Android鬧鐘沒有被觸發
- 28. Androids AlarmManager不會觸發鬧鐘
- 29. Google Script每分鐘觸發器
- 30. 鬧鐘管理器沒有觸發
對此的真正答案取決於您提供的許多信息。使用GUI工具包定時器功能,像cron這樣的系統工具,像twisted這樣的異步IO框架或者'sched'模塊可能是合適的。哪個更合適取決於您的應用程序。 – 2010-02-11 01:23:23