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
请大家多多支持,点赞、评论和加关注!谢谢!
Python中import模块时报SyntaxError: (unicode error)utf-8 codec can not decode 错误的解决办法的更多相关文章
- StarUML启动时候出现"System Error. Code:1722. RPC服务器不可用."错误的解决办法
StarUML是用得很顺手的UML工具,但是启动时候每次都会出现"System Error. Code:1722. RPC服务器不可用."错误. 一般来说这个应该是某个Window ...
- git push 时发生 error: failed to push some refs to 错误 (解决办法)
出现问题的原因:在github上更新了README.md,没有更新到本地仓库.而在本地git仓库又修改了文件,这时使用 git push origin master 推送到远程仓库后就出现了下面的问题 ...
- 解决vs2013下创建的python文件,到其他平台(如linux)下中文乱码(或运行时报SyntaxError: (unicode error) 'utf-8' codec can't decode byte...)
Vs2013中创建python文件,在文件中没输入中文时,编码为utf-8的,如图 接着,在里面输入几行中文后,再次用notepad++查看其编码如下,在vs下运行也报错(用cmd运行就不会): 根据 ...
- python中os模块path.abspath()返回的并不是绝对值,而是个错误的不存在的拼接地址
附截图: 当前路径: a=r'D:\PCsync\python\commands' 为绝对路径 遍历出来的4条应该是D:\PCsync\python\commands\commands.py... ...
- symbol lookup error /usr/lib/x86_64-linux-gnu/libstdc++.so.6错误的解决办法
当出现 $ apt-get: symbol lookup error: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: undefined symbol: _ZNS ...
- 出现ERROR: While executing gem ... (Gem::FilePermissionError)这种错误的解决办法
重新安装ruby即可解决 brew install ruby
- 【Git初探】Git中fatal: Not a git repository (or any of the parent directories): .git错误的解决办法
今天用git bash更新项目时遇到了无论使用什么命令都会报fatal: Not a git repository (or any of the parent directories): .git的情 ...
- Python中出现 SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 12-13: truncated \UXXXXXXXX escape
Python中出现 SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 12-13: t ...
- [Python]编译错误:编码错误问题(SyntaxError: (unicode error) )
1 错误信息 python文件 1 #coding:utf-8 2 3 class Clz: 4 def func(filePath): 5 """ 6 func 7 - ...
随机推荐
- python数据分析02语法基础
在我来看,没有必要为了数据分析而去精通Python.我鼓励你使用IPython shell和Jupyter试验示例代码,并学习不同类型.函数和方法的文档.虽然我已尽力让本书内容循序渐进,但读者偶尔仍会 ...
- Java实现FTP跨服务器文件操作
在过去的几年工作中,曾经多次需要把文件上传到单独的服务器,而程序是在单独的服务器上部署的,在进行文件操作的时候就需要跨服务器进行操作包括:文件上传.文件下载.文件删除等.跨服务器文件操作一般是需要FT ...
- linux nf_conntrack 连接跟踪机制 2
连接跟踪初始化 基础参数的初始化:nf_conntrack_standalone_init 会调用nf_conntrack_init_start 完成连接跟踪基础参数的初始化, hash slab 扩 ...
- OLTP与OLAP分析与比较
(本文转载自Super_Mu的博客https://www.cnblogs.com/hhandbibi/p/7118740.html) 1.OLTP与OLAP的介绍 数据处理大致可以分成两大类:联机事务 ...
- 《GNU_makefile》第六章——变量
makefile中的变量特征和C语言中的宏一样. 变量使用 =,:=,?= 和 define 定义 一些特殊的自动化变量:$< $@ $^ $* 1.变量的引用 通过 $(VAR) 或 ${VA ...
- UNP第11章——名字与地址转换
1.域名系统 程序中只使用主机名和服务名的好处是,如果IP或端口变化,只需要改变映射关系,不需要重新编译程序. 1.1 资源记录 DNS的条目为资源记录,有用的项如下: A IPv4地址 AAAA I ...
- 1-06-2 Lambda表达式
last modified:2020/10/31 1-06-3-Lambda表达式 6.3.1 为什么引入lambda表达式 lambda表达式是一个可传递的代码块,可以在以后执行一次或多次. 将一个 ...
- Spring Cloud配置中心之Consul
Consul不仅可以作为Spring Cloud中服务的注册中心,也可以作为其配置中心,这样一个系统就可以实现服务发现和统一配置,减少系统维护的麻烦,其中在使用Consul作为配置中心使用的过程中可以 ...
- mysql 不常用备忘
# group_concat 函数语法: group_concat( [DISTINCT] 要连接的字段 [Order BY 排序字段 ASC/DESC] [Separator '分隔符'] ...
- Dnscat2实现DNS隐蔽隧道反弹Shell
DNS介绍 DNS是域名系统(Domain Name System)的缩写,是因特网的一项核心服务,它作为可以将域名和IP地址相互映射的一个分布式数据库,能够使人更方便的访问互联网,而不用去记住能够被 ...