返回顶部
首页 > 资讯 > 后端开发 > Python >python异步协程爬虫报错:【TypeError: object int can‘t be used in ‘await‘ expression】探讨
  • 823
分享到

python异步协程爬虫报错:【TypeError: object int can‘t be used in ‘await‘ expression】探讨

爬虫python 2023-09-05 14:09:49 823人浏览 薄情痞子

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操作也是提高运行效率的关键点吧,为什么不能使用异步呢?好让人郁闷( ˇˍˇ )

来源地址:https://blog.csdn.net/teotv/article/details/130763823

--结束END--

本文标题: python异步协程爬虫报错:【TypeError: object int can‘t be used in ‘await‘ expression】探讨

本文链接: https://lsjlt.com/news/395415.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作