python异步协程爬虫报错:【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 asyncio

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

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
心中带点小风骚的头像心中带点小风骚普通用户
上一篇 2023年9月12日
下一篇 2023年9月12日

相关推荐