如何一劳永逸的解决UnicodeDecodeError: 'gbk' codec can't decode byte 0xaf in position 60: illegal multibyte sequence问题

当使用python读取本地文本文件,并打印出来的时候,经常会出现下列错误:UnicodeDecodeError: 'gbk' codec can't decode byte 0xaf in position


60: illegal multibyte sequence。以下是我实验中验证的解决办法:

下面是正确的代码:

# -*- coding=utf-8 -*-

with open('E:\wuqiang\salestool\python\scripts\BS\sample.txt','r', encoding='utf-8') as f:

print(f.read())

1.首先,在代码开始确保添加# -*- coding=utf-8 -*-,

2.然后在open语句里添加encoding='utf-8',

3.使用UltraEdit把sample.txt文件保存成UTF-8无BOM格式。


然后重新运行一次程序,成功读取打印OK.


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • python 中的unicode是让人很困惑、比较难以理解的问题.这篇文章写的比较好,utf-8是 unicode...
    think_lonely阅读 929评论 0 0
  • 字符集和编码简介 在编程中常常可以见到各种字符集和编码,包括ASCII,MBCS,Unicode等字符集。确切的说...
    兰山小亭阅读 8,623评论 0 13
  • 个人笔记,方便自己查阅使用 Py.LangSpec.Contents Refs Built-in Closure ...
    freenik阅读 67,777评论 0 5
  • 几个基本概念 bit二进制位, 是计算机内部数据储存的最小单位,11010100是一个8位二进制数。一个二进制位只...
    西电大侠阅读 3,600评论 1 8
  • 笨笨是我玩军旗认识的一个朋友,异常八卦,也非常八婆。 在家族群里,他永远是话唠,任何风吹草动蛛丝马迹他都要参合一把...
    可乐先森的可乐阅读 260评论 0 0