📜  如何让Python程序等待?(1)

📅  最后修改于: 2023-12-03 14:53:17.644000             🧑  作者: Mango

如何让Python程序等待?

在编写Python程序时,有时需要程序等待一段时间后再执行某个操作。比如在爬虫中,需要程序等待一定的时间后再向网站发送请求,此时就需要用到Python中的“等待”功能。

一、使用time.sleep()函数实现等待

time.sleep()函数可以暂停程序运行的一段时间,其语法如下:

import time

time.sleep(seconds)

其中,seconds为等待的时间,单位是秒。下面是一个简单的示例:

import time 

print('3秒后开始执行...')
time.sleep(3)
print('3秒已过,程序继续执行。')

输出结果如下:

3秒后开始执行...
3秒已过,程序继续执行。
二、使用asyncio.sleep()函数实现异步等待

在使用异步编程时,可以使用asyncio库中的asyncio.sleep()函数实现异步等待。其语法如下:

import asyncio

async def function():
    await asyncio.sleep(seconds)

其中,seconds为等待的时间,单位是秒。下面是一个简单的示例:

import asyncio

async def say_after(delay, what):
    await asyncio.sleep(delay)
    print(what)

async def main():
    print('开始执行...')
    await say_after(3, '等待了3秒后输出。')
    print('程序继续执行。')

asyncio.run(main())

输出结果如下:

开始执行...
等待了3秒后输出。
程序继续执行。
三、使用threading.Thread()函数实现多线程等待

在多线程编程时,可以使用threading库中的Thread类实现多线程等待。其语法如下:

import threading

def function():
    threading.Event().wait(seconds)

其中,seconds为等待的时间,单位是秒。下面是一个简单的示例:

import threading
import time

def worker(event):
    print('开始执行...')
    event.wait()
    print('程序继续执行。')

event = threading.Event()

t = threading.Thread(target=worker, args=(event,))
t.start()

time.sleep(3) # 3秒后触发事件
event.set()

输出结果如下:

开始执行...
程序继续执行。

以上就是Python中三种不同方式实现等待的方法,开发者可以根据自己的需求选择不同的方式进行使用。