Python 官方文档:入门教程 => 点击学习
近日,通过异步协程爬虫抓取rar压缩包文件时,学习运用异步协程来提高效率。但发生如下问题:TypeError: object int can't be used in 'await' expression 研究了好久,发现是在持久化保存时
近日,通过异步协程爬虫抓取rar压缩包文件时,学习运用异步协程来提高效率。但发生如下问题:TypeError: object int can't be used in 'await' expression
研究了好久,发现是在持久化保存时,不能运用整数作为await的参数。
这个错误的原因可能是在async函数中使用了一个整数类型的变量作为await的参数。await只能用于返回协程对象的异步函数,无法使用在普通的同步操作上。
要解决这个问题,需要确保await的参数是一个异步函数的返回值。如果我们只是想等待一个时间段后再执行下一个操作,可以使用asyncio.sleep()函数作为协程对象来等待一定的时间。
例如:
import asyncioasync def my_function(): await asyncio.sleep(1) print('1 second has passed')asyncio.run(my_function())
这个例子中,my_function()是一个异步函数,它会等待1秒钟后再执行后续的操作。await asyncio.sleep(1)是等待1秒钟的语句,它返回的是一个协程对象,可以用await来等待它执行完毕。最后,asyncio.run()函数用来运行异步函数。
问题关键点:
所以,只要把await 去掉,就可以正常运行了!^_^
以上只是我浅薄的理解,不知道对不对!
但是对于磁盘的IO操作也是提高运行效率的关键点吧,为什么不能使用异步呢?好让人郁闷( ˇˍˇ )
--结束END--
本文标题: python异步协程爬虫报错:【TypeError: object int can‘t be used in ‘await‘ expression】探讨
本文链接: https://lsjlt.com/news/395415.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-03-01
2024-03-01
2024-03-01
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0