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 - ...
随机推荐
- Android基础——项目的文件结构(三)
Android基础--项目的文件结构(三) 代码源文件夹与资源文件夹 [注]此项目文件结构仅限于Android Studio下的Android项目!!! 在一个Android项目中,代码源文件夹有4个 ...
- Python学习笔记2:基本数据类型
Python中的变量不需要声明.每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建. 在 Python 中,变量就是变量,它没有类型,我们所说的"类型"是变量所指的内存中对象 ...
- golang 简单工厂模式
package kit //golang简单工厂模式 //go 语言没有构造函数一说,所以一般会定义NewXXX函数来初始化相关类. NewXXX 函数返回接口时就是简单工厂模式,也就是说Golang ...
- 动态JavaWeb工程的架构问题
B/S 网络应用的分层 前端(表示层) 后端( 业务逻辑层, 数据库访问层 ) 分层的目的->分模块->解耦 1,表示层---和用户直接交互 html,js,css, servlet 2, ...
- git-关联远程git仓库详细步骤-2
1.打开git bash,在控制台中输入以下命令:ssh-keygen -t rsa -C "邮箱地址" 结果: fanxi@AT8350 MINGW64 ~$ ssh-keyge ...
- appium 数据参数化 登录模块
下面是我最近学习的PYTHON的登录代码: class test(object): def getdic(self): d = {'username': '13', 'password': '1111 ...
- 为什么说线程太多,cpu切换线程会浪费很多时间?
问题1: 假如有一个计算任务,计算1-100的和,每10个数相加,需要占用一个cpu时间片(1s).如果起一个线程(模拟没有线程切换),完成任务需要多长时间?如果起5个线程,完成任务需要消耗多久时间? ...
- python-网络安全编程第五天(爬虫模块BeautifulSoup)
前言 昨晚学的有点晚 睡得很晚了,今天早上10点多起来吃完饭看了会电视剧就瞌睡了一直睡到12.50多起来洗漱给我弟去开家长会 开到快4点多才回家.耽搁了不少学习时间,现在就把今天所学的内容总结下吧. ...
- kali 系列学习05 - Nessus 安装及配置
Nessus 安装 1.https://www.tenable.com/products/nessus/select-your-operating-system 点此下载nessus选择适合自己 ...
- cdh中jps显示process information unavailable问题的解决
百度的方法有两种: 第一种 1.进入/tmp 2.删除该目录下的hsperfdata_${username} 文件夹 3.再执行jps 第二种 做软连接 或者修改权限hsperfdata_${user ...