簡體   English   中英

使程序在python中睡眠X秒

[英]Make program sleep for X seconds in python

我正在制作一個鬧鍾程序,該程序必須在6:00 AM之前進入睡眠狀態(不發出聲音)。 我遇到的問題是我無法讓程序等待X秒

偽代碼:X = 6:00 AM-CurrentTime time.sleep(X)

到目前為止,這是我的代碼:

#Imports
import datetime
import time
import pygame

WORDS = ["Wake", "Me", "Tommorow"]

#Make J.A.R.V.I.S. Listen
mic.activeListen():

#Determine time and difference of time
x = datetime.datetime.now()
x = x.total_seconds
print(x)
x = datetime.timedelta()
x = float(x) #time.sleep() Requires a float value.
time.sleep(x) #Sleeps until 6:00 AM
pygame.mixer.init()
pygame.mixer.music.load("alarm.mp3")
pygame.mixer.music.play()
while pygame.mixer.music.get_busy() == True:

為了創建一個代表6:00 am的datetime對象,您需要指定日期。 例如,如果您今天想早上6:00(假設將來發生):

from datetime import datetime, date, time, timedelta
import time
d = date.today()
target_dt = datetime.combine(d, time(6,0))
td = target_dt - datetime.now()
time.sleep(td.total_seconds())

如果您明天早上6點要執行以下操作:

d = date.today() + timedelta(days=1)
# the rest is the same...

您不應該信任time.sleep()在期望的時間停止等待,因為任何捕獲到的信號都會終止它(請參閱Python time.sleep()的上限答案)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM