欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

PYTHON3解决'gbk' codec can't encode character '\xXX' in position XX

程序员文章站 2022-05-28 12:59:28
...

        之前写了个爬虫获取一些公司公开的信息,但是在往TXT文件写入的时候偶尔会报错'gbk' codec can't encode character '\xXX' in position XX。

            在网上查了许久都是说因为print()输出的缺陷,但是自己测试之后发现并非如此。我在python3环境中,使用的开发程序是Pycharm,这应该不会出现那种错误才对,于是我就随便写了两行代码来测试到底是因为什么报错,代码如下:

f = open(r"D:\test.txt")
a = '\ue863'
print(a)
f.write(a)
f.close()
        运行了这段代码后,我发现报错的实际上是f.write这个方法,于是明白了这是因为TXT文件的默认编码是GBK而不是Unicode。于是便做了一个小小的改动,代码如下:
import codecs
f = codecs.open('D:\\test.txt','w','utf-8')
a = '\ue863'
print(a)
f.write(a)
f.close()
再次运行果然没有问题了,所以在临时保存文件时应注意临时文件也要设置好编码。

       

相关标签: 编码错误