‘_io.TextIOWrapper‘ object has no attribute ‘decode‘报错解决(使用jieba时)

‘_io.TextIOWrapper’ object has no attribute 'decode’这个报错当时遇到时搜索了许多网站包括https://cloud.tencent.com/developer/ask/130968。
笔者与该文为同一报错原因,但使用with后仍不行,仔细一想原来真正原因是:
~/anaconda3/lib/python3.6/site-packages/jieba/_compat.py in strdecode(sentence)
35 if not isinstance(sentence, text_type):
36 try:
—> 37 sentence = sentence.decode(‘utf-8’)
38 except UnicodeDecodeError:
39 sentence = sentence.decode(‘gbk’, ‘ignore’)

第37行这个引起,后来我检查输入jie.lcut()的数据类型,发现为_io.TextIOWrapper,别说jieba不认识,我也不认识。jieba.lcut()只能处理str,所以在
line = open('D:\\pycharm\\xxx.txt',encoding="utf-8").read() print(type(line))
加上.read()就行了,输出的‘line’就是str了。
希望可以帮到大家
ps.just for 同小白的朋友。jieba.cut()和jieba.lcut()的区别,简单来说就是输出后的数据类型不同,个人习惯输出list所以常写lcut实质二者功能一样

  • 24
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值