如何在 Python 中添加时间延迟?

2025年3月17日 | 阅读 3 分钟

使用 time 模块中的 sleep() 函数,可以暂停调用线程的执行任意一段时间。默认情况下,它会执行您的代码一百万次。

在 Python 中添加时间延迟有几种方法,包括:

  1. 使用 time.sleep() 函数:此函数将当前线程的执行停止指定的秒数。例如,sleep(5) 将延迟执行 5 秒
  2. 使用 datetime.timedelta 类:此类可用于表示持续时间,并可与 datetime 对象相加或相减。例如,time.sleep((datetime.datetime.now()+datetime.timedelta(seconds=5)-datetime.datetime.now()).total_seconds()) 将延迟执行 5 秒
  3. 使用 sched 模块:此模块允许您安排函数在预定时间过后运行。使用 scheduler() 类来构建调度器对象并安排函数在特定时间运行。
  4. 使用 signal 模块:此模块中的信号可用于安排函数在设定的时间过后运行.alarm(time) 函数,其中 time 表示函数执行前的持续时间(以秒为单位)。
  5. 使用 threading 模块:此模块允许您创建新线程,您可以使用 Timer(time, function) 类创建计时器对象并在特定时间延迟后运行函数。

方法 1:使用 time.sleep() 函数

步骤:

  • 导入 time 模块是第一个重要的步骤。
  • 为了在执行期间引入时间延迟,在需要延迟的两个语句之间使用 sleep() 方法。将一个数字作为 sleep() 函数的参数,可以是整数或浮点数。
  • 接下来,运行相应的程序。
  • 代码运行后,跟踪执行时间延迟。

示例代码

输出

How To Add Time Delay in Python

方法 2:使用 threading.Event.wait 函数

threading.Event.wait 函数的方法中,线程会暂停,直到 set() 方法成功执行完成。它可以接受一个参数,该参数可以指定一个特定时间,这意味着执行将停止,直到指定的时间过去。

Threading.Event.wait() 是使用此方法在任何代码中添加时间延迟所要遵循的语法。

示例

输出

How To Add Time Delay in Python

方法 3:使用 threading.Timer 类

Timer 对象表示需要在指定时间启动的任务。这些对象被设置为在与执行操作的线程不同的线程上运行。

示例

输出

Thread Timer 
javaTpoint

方法 4:使用 datetime 模块

在 Python 中,日期和时间不是独立的数据类型,但可以通过导入 datetime 包来一起使用。Python Datetime 模块无需在外部安装,因为它已包含在 Python 中。

Python datetime 模块提供了用于处理日期和时间的类。这些类提供了许多处理日期、时间和时间段的功能。在 Python 中处理日期和 datetime 时,您实际上是在处理对象,而不是字符串或时间戳,因为语言将日期和 datetime 识别为对象。

例如

输出

How To Add Time Delay in Python

方法 5:在 Python 中使用 Sched 模块

Sched 模块是行业标准库,可用于构建机器人及其他自动化和监控程序。sched 模块实现了用于在特定时间运行作业的通用事件调度器。它提供了与 Windows 或 Linux 中的任务调度器类似的工具,但主要优点是根据 Python 自己的 sched 模块可以忽略平台差异。

例如

输出

Starting...
...Finished

这些是 Python 中时间延迟的示例。需要注意的是,time.sleep() 函数将导致整个程序暂停指定的持续时间,而 datetime 和 sched 示例仅会延迟特定代码段的执行。