Скрипт для ожидания до указанного времени - PullRequest
0 голосов
/ 08 февраля 2020

Ожидание до указанного времени

Мне нужен лучший способ остановить программу, пока не будет указано указанное время (в переменной wait_time набор часов, минут, секунд). Я пытался использовать , а l oop для этого. Но есть ли более эффективный способ для этого, чтобы он не занимал большую часть процессора. После ожидания он выполняет функцию под названием 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()

Мне требуется более эффективный способ, чем этот, для части памяти. Следует подождать, пока системное время не станет указанным.

1 Ответ

0 голосов
/ 08 февраля 2020

Я взломал метод, который должен работать для вас:

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()
...