【问题标题】:Script to wait till a specified time等待指定时间的脚本
【发布时间】:2020-02-08 16:55:39
【问题描述】:

等到指定时间

我需要最好的方法来停止程序,直到提到指定的时间(在变量 wait_time 中,小时、分钟、秒的元组)。我曾尝试为此使用 while 循环。但是有没有一种更有效的方法,这样它就不会占用太多的 CPU。等待之后,它会执行一个名为solve() 的函数。

wait_time=(12,10,15)
import time
time_str=time.localtime()
current_time=(time_str.tm_hour,time_str.tm_min,time_str,time_str.tm_sec)
while current_time!=wait_time:
    current_time=(time_str.tm_hour,time_str.tm_min,time_str,time_str.tm_sec)
else:
    print('Wait time over')
    solve()

对于内存部分,我需要一种比这更有效的方法。它应该等到系统时间是给定的时间。

【问题讨论】:

标签: python time while-loop wait


【解决方案1】:

我已经编写了一个适合你的方法:

timeWait.py
import time

def waitTime(hrs, mins, secs):
    totalTime = ((hrs * 3600) + (mins * 60) + secs) # this is the time to wait in seconds
    time.sleep(totalTime) # time.sleep() sleeps for a given number of seconds
在外壳中使用它:
Python 3.8.0 (v3.8.0:fa919fdf25, Oct 14 2019, 10:23:27) 
[Clang 6.0 (clang-600.0.57)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import timeWait 
>>> timeWait.waitTime(1, 23, 42)
# This will wait/sleep for 1 hour, 23 minutes, and 42 seconds.
如何在程序中使用它:
import time

def waitTime(hrs, mins, secs):
    totalTime = ((hrs * 3600) + (mins * 60) + secs)
    time.sleep(totalTime)

waitTime(12, 10, 15)
# The following code will run when the time is up
print('Wait time over')
solve()

【讨论】:

  • waitTime 有罪。
  • @AMC 怎么样?你喜欢丑陋的wait_time吗?
  • 丑吗?离开snake_case D:
  • snake_case 是坏东西。每个人都知道真正的专业人士使用camelCase。蛇形盒丑陋、不专业且难以阅读。
  • 好吧,用任何让你感觉良好的方式编写代码。 好稻草人,每个人都知道约定和标准一文不值......这是来自声称的人的双重有趣的态度进入 mac。
猜你喜欢
  • 1970-01-01
  • 2021-03-25
  • 2014-04-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-01-14
相关资源
最近更新 更多