今天看慕课《Python语言程序设计》(北京理工大学 嵩天)的时候,PPT里有段代码,照着敲在自己电脑上运行时,出了问题。源代码如下:
#txt_poen.py 文本形式打开一个文件
#f.txt 和 txt_poen.py 共同保存在同一个文件夹中
#tf = open(“f.txt”, “rt”);
tf = open(“f.txt”, “rt”)
print(tf.readline())
tf.close()
在Python的IDLE(版本为Python 3.7.4)中运行时弹出了一行错误:
UnicodeDecodeError: ‘gbk’ codec can’t decode byte 0xad in position 2: illegal multibyte sequence
这句话翻译成中文大概意思就是:
UnicodeDecodeError:“GBK”编解码器无法解码位置2的字节0 xad:非法多字节序列。
解决的办法是在open中多加一个参数:encode = “UTF-8”,同一环境下运行的结果是:
至于为什么会出现这个错误和为什么可以这样子里解决这个问题,我学Python两个星期,也还没搞懂。欢迎知晓的看客留言评论,指点一下迷津。
【2020年4月13日】错误原因已在评论区的留言中。