有没有Python模块可以在一定时间后报警
Is there any Python module available which can alarm after certain time
我的问题和给定的问题有很大的不同。如果我按照 link(有些人认为我的问题与另一个问题重复)实现睡眠,那么我的整个应用程序将挂起一段时间。另一方面,我正在寻找一个调度程序,以便我的应用程序不会挂起,但在一段时间后,.wav 文件将 运行。同时,我可以使用我的应用程序做任何事情。希望这是有道理的。
我要制作一个闹钟。我想我可以根据这个算法来做...
- 使用
time.clock()
获取当前时间
- 将当前时间与给定时间进行比较。
- 如果当前时间不是给定时间则继续获取当前时间并比较当前时间是否为给定时间
- 如果当前时间是给定时间,则播放 .wav 文件。
这个程序的问题是它会持续 运行 直到给定的时间。所以我正在寻找更好的主意。假设是否有 Python module/class/function 可以在给定时间播放声音文件。有没有Pythonmodule/class/function可以定时醒来的?或者我的算法通常用于所有闹钟?
据我所知,没有一个好的 Python 模块可以做到这一点。不过,您正在寻找的是 cron job。它允许您在特定时间将特定脚本安排到 运行。所以你的 Python 脚本最终将只是播放 .wav 的代码,然后你需要创建一个 cron 作业来告诉你的计算机在每天的特定时间执行该脚本。
看看 sched 模块。
下面是一个如何使用它的例子:
import sched, time, datetime
def print_time():
print("The time is now: {}".format(datetime.datetime.now()))
# Run 10 seconds from now
when = time.time() + 10
# Create the scheduler
s = sched.scheduler(time.time)
s.enterabs(when, 1, print_time)
# Run the scheduler
print_time()
print("Executing s.run()")
s.run()
print("s.run() exited")
The time is now: 2015-06-04 11:52:11.510234
Executing s.run()
The time is now: 2015-06-04 11:52:21.512534
s.run() exited
我的问题和给定的问题有很大的不同。如果我按照 link(有些人认为我的问题与另一个问题重复)实现睡眠,那么我的整个应用程序将挂起一段时间。另一方面,我正在寻找一个调度程序,以便我的应用程序不会挂起,但在一段时间后,.wav 文件将 运行。同时,我可以使用我的应用程序做任何事情。希望这是有道理的。
我要制作一个闹钟。我想我可以根据这个算法来做...
- 使用
time.clock()
获取当前时间
- 将当前时间与给定时间进行比较。
- 如果当前时间不是给定时间则继续获取当前时间并比较当前时间是否为给定时间
- 如果当前时间是给定时间,则播放 .wav 文件。
这个程序的问题是它会持续 运行 直到给定的时间。所以我正在寻找更好的主意。假设是否有 Python module/class/function 可以在给定时间播放声音文件。有没有Pythonmodule/class/function可以定时醒来的?或者我的算法通常用于所有闹钟?
据我所知,没有一个好的 Python 模块可以做到这一点。不过,您正在寻找的是 cron job。它允许您在特定时间将特定脚本安排到 运行。所以你的 Python 脚本最终将只是播放 .wav 的代码,然后你需要创建一个 cron 作业来告诉你的计算机在每天的特定时间执行该脚本。
看看 sched 模块。
下面是一个如何使用它的例子:
import sched, time, datetime
def print_time():
print("The time is now: {}".format(datetime.datetime.now()))
# Run 10 seconds from now
when = time.time() + 10
# Create the scheduler
s = sched.scheduler(time.time)
s.enterabs(when, 1, print_time)
# Run the scheduler
print_time()
print("Executing s.run()")
s.run()
print("s.run() exited")
The time is now: 2015-06-04 11:52:11.510234 Executing s.run() The time is now: 2015-06-04 11:52:21.512534 s.run() exited