Python中import模块时报SyntaxError: (unicode error)utf-8 codec can not decode 错误的解决办法

老猿有个通过UE编辑(其他文本编辑器一样有类似问题)的bmi.py文件,在Python Idle环境打开文件执行时没有问题,但import时报错:
SyntaxError: (unicode error) ‘utf-8’ codec can’t decode byte 0xc7 in position 0: invalid continuation byte,具体报错截图如下:
在这里插入图片描述
老猿知道这是字符集编码的问题,应该是Python import文件是支持UTF-8编码,而老猿存储时是GBK的编码导致,怎么解决该问题呢?有以下三种办法:
1、文件存储时以UTF-8编码存储,每个编辑器应该都可以设置文件存储的编码格式,老猿的编辑器是UE,相关格式设置界面请见下面截图:
在这里插入图片描述

再将文件另存一下就可以了。

方法二,使用IDLE打开文件再进行格式转换
使用IDLE打开非UTF-8编码的文件时,系统会有如下提示信息:
在这里插入图片描述
此时只要输入正确编码(Python默认会根据操作系统的设置给出一个默认值),如中文选择cp936(具体字符集和代码也的映射关系请见《转:使用DOS命令chcp查看windows操作系统的默认编码以及编码和语言的对应关系》)。
打开成功后将文件再保存一下就可以将格式修改为Python可以正确解码的格式了。

方法三,直接在文件中给出文件本身的编码格式就可以了,如果是中文编码的,可以在首行添加:

#-*-coding: GBK -*-

就可以正常识别了。

老猿Python,跟老猿学Python!
博客地址:https://blog.csdn.net/LaoYuanPython

请大家多多支持,点赞、评论和加关注!谢谢!

©️2020 CSDN 皮肤主题: 酷酷鲨 设计师: CSDN官方博客 返回首页
实付0元
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值