解决Python3控制台输出的UnicodeEncodeError: ‘gbk‘ codec can‘t encode character ‘\u30fb‘ in position 0:问题

news/2024/11/26 12:01:34/

解决 Python3控制台输出的UnicodeEncodeError: ‘gbk’ codec can’t encode character ‘\u30fb’ in position 0: illegal multibyte sequence问题

最近在GitHub找了一段大神写的机器学习的代码,但是大神是用的python2写的,而我本机是python3的环境,所以遇到了很多兼容问题。

出现问题的代码:

word_dic = load_word_file(train_file)
value_list = sorted(word_dic.items(), key=lambda d: d[1], reverse=True)
for word in value_list[:30000]:
print(word[0])

错误信息:
错误信息描述
在print(word[0])中报编码错误,但是我在load_word_file时,已经设置读取文件的编码为UTF-8了,为啥这里还显示是GBK编码的问题,于是我尝试找方法解决:

解决过程一

一开始我以为是file Encoding的问题,于是我全部改成了UTF-8,很遗憾,还是没有解决。
设置文件编码

最终解决方案

原来是print()函数自身有限制,不能完全打印所有的unicode字符。python输出的默认编码不是’utf-8’,加入下面代码改成’utf-8’就行了。

import io
import sys
sys.stdout = io.TextIOWrapper(sys.stdout.buffer,encoding='utf8') #改变标准输出的默认编码

到此,完美解决。


http://www.ppmy.cn/news/520057.html

相关文章

选择大于努力?看涛思数据两名90后如何获得“胡润U30企业领袖奖”

十天前,涛思数据两位92年生的联合创始人程洪泽、侯江燚双双被评为胡润U30中国创业领袖,达成他们人生一个新的里程碑。这不仅是他们个人的骄傲,更是涛思数据的骄傲。洪泽是涛思的第三号员工,江燚是涛思的第六号员工。今天周末&…

最强光源解析,做纺织的你知道D65,CWF,TL84,U30,HOR的区别吗?

最强光源解析,做纺织的你知道D65,CWF,TL84,U30,HOR的区别吗? 我们平时所说的光源,一般分为自然光源和人造光源两种,前者主要指日光,后者则包括白炽灯、卤钨灯、荧光灯、…

内存不足的原因及解决方法

一、剪贴板占用了太多的内存 实际上,剪贴板是内存中的一块临时区域,当你在程序中使用了“复制”或“剪切”命令后,Windows将把复制或剪切的内容及其格式等信息暂时存储在剪贴板上,以供“粘贴”使用。如果当前剪贴板中存放的是一幅…

大数据基础平台实施及运维进阶

1、完全分布式部署介绍 完全分部式是真正利用多台Linux主机来进行部署Hadoop,对Linux机器集群进行规划,使得Hadoop各个模块分别部署在不同的多台机器上。 2、nameNode HA完全分布式部署 2.1、nameNode切换方法 分别处于Active和Standby中 hadoop可以…

苹果笔记本,怎么使用新移动硬盘,现在不能复制文件到移动硬盘

环境 MAC OS 11.7 macbook pro 问题描述 苹果笔记本,怎么使用新移动硬盘,之前硬盘是NTFS格式,macOS默认只能读不能写入 解决方案 1.插入移动硬盘,搜索打开磁盘工具 2.选中当前移动硬盘,点击右上角抹掉 3.选择格…

苹果笔记本电脑我的计算机在哪里设置密码,苹果笔记本怎么设置开机密码_苹果笔记本如何设置开机密码-win7之家...

为了确保电脑安全,大家都喜欢给电脑设置开机密码,但是苹果笔记本电脑跟windows电脑设置方法是不一样的,一些刚使用苹果笔记本电脑的用户们想要设置开机密码,但是却不知道要怎么设置,其实方法并不难,随小编一…

sim卡的imisgid1gid2参数解释

转帖自:http://heicard.com/tutorial/81 机制与原理: sim卡的身份主要包含iccid imsi GID1 GID2这四个参数,以区分不同sim卡归属。 iphone锁定sim卡方法是通过选取这几个参数进行锁定。ios在激活基带的时候,iphone会把sim卡的这…

ATK-SIM900A入门

ATK-SIM900A入门 前言 简介 ATK-SIM900A 模块板载 SIMCOM 公司的工业级双频 GSM/GPRS 模块: SIM900A,工作频段双频: 900/1800Mhz,可以低功耗实现语音、 SMS(短信, 不支持彩信)、数据和传真信…