运行Tweepy时报错TypeError: a bytes-like object is required, not 'str'如何解决
Tweepy脚本类型错误修复方案
报错原因
你对字符串类型的tweet.text调用encode('utf8')方法后,变量c被转换为字节(bytes)类型。bytes类型的replace方法仅接收同类型的参数,而你传入的"im "是字符串(str)类型,类型不匹配直接触发了该报错。
此外后续代码需要将c与其他字符串拼接生成回复内容,bytes类型无法直接和字符串拼接,即使解决了replace的报错也会触发二次类型错误。
修复方法
不需要提前对推文内容做encode操作,直接对原始字符串做替换即可,tweepy接口会自动处理推文内容的编码适配。
将循环内的两行代码:
c=tweet.text.encode('utf8') c=c.replace("im ","")
修改为:
c = tweet.text.replace("im ", "")
可选优化
你重复导入了两次tweepy库,import tweepy和import tweepy as tt保留任意一个即可,不影响运行但属于冗余代码。
内容的提问来源于stack exchange,提问作者Triple A
相关产品推荐
相关产品推荐

