📅  最后修改于: 2023-12-03 14:53:17.644000             🧑  作者: Mango
在编写Python程序时,有时需要程序等待一段时间后再执行某个操作。比如在爬虫中,需要程序等待一定的时间后再向网站发送请求,此时就需要用到Python中的“等待”功能。
time.sleep()函数可以暂停程序运行的一段时间,其语法如下:
import time
time.sleep(seconds)
其中,seconds为等待的时间,单位是秒。下面是一个简单的示例:
import time
print('3秒后开始执行...')
time.sleep(3)
print('3秒已过,程序继续执行。')
输出结果如下:
3秒后开始执行...
3秒已过,程序继续执行。
在使用异步编程时,可以使用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类实现多线程等待。其语法如下:
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中三种不同方式实现等待的方法,开发者可以根据自己的需求选择不同的方式进行使用。