成功解决:SyntaxError: Non-UTF-8 code starting with ‘\xe6‘ in file E:/Python/3.py on line 4, but no encod
报错代码
粉丝群里面的一个小伙伴想用python处理字符串数据,但是发生了报错(当时他心里瞬间凉了一大截,跑来找我求助,然后顺利帮助他解决了,顺便记录一下希望可以帮助到更多遇到这个bug不会解决的小伙伴),报错代码如下::
import re
a = '1 <p>3、原异议人注册在石油化工产品的上“埃索ESSO”商标于1999年被商标局列入全国重点商标保护名录;原异议人注册并使用在“工业用油脂、石油、石油产品”商标上的“ESSO及图”、“埃索”和“老虎图形”商标于2005年在商标局管理案件中被认定为在中国已经有广泛的知名度,为相关公众所知晓,并依据修改前<law lid ="CNTMSBFX2013" >《商标法》</law> <rule tid = "CNTMSBFX2013_0013"> 第十三条 </rule>第二款给予保护'
sbsp_list = re.findall("“(.*?)”", a, re.S)
sbsp_list = list(set(sbsp_list)) # 去重反正重复
print(sbsp_list)
报错信息如下:
SyntaxError: Non-UTF-8 code starting with '\xe6' in file E:/Python/3.py on line 4, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details
报错翻译
报错信息翻译如下:
语法错误:文件E:/Python/3中以“\xe6”开头的非UTF-8代码。py位于第4行,但未声明编码;看见http://python.org/dev/peps/pep-0263/有关详细信息
报错原因
报错原因:
Python代码中出现了中文字符,注释中的字符,需要指定编码格式。
小伙伴按下面的解决方法修改代码即可解决!!!=
解决办法
在代码开头加上# -*- encoding:utf-8 -*-
表示设置编码格式为utf8即可解决:
# -*- encoding:utf-8 -*-
import re
a = '1 <p>3、原异议人注册在石油化工产品的上“埃索ESSO”商标于1999年被商标局列入全国重点商标保护名录;原异议人注册并使用在“工业用油脂、石油、石油产品”商标上的“ESSO及图”、“埃索”和“老虎图形”商标于2005年在商标局管理案件中被认定为在中国已经有广泛的知名度,为相关公众所知晓,并依据修改前<law lid ="CNTMSBFX2013" >《商标法》</law> <rule tid = "CNTMSBFX2013_0013"> 第十三条 </rule>第二款给予保护'
sbsp_list = re.findall("“(.*?)”", a, re.S)
sbsp_list = list(set(sbsp_list)) # 去重反正重复
print(sbsp_list)
再次运行成功:
['工业用油脂、石油、石油产品', '埃索ESSO', '老虎图形', 'ESSO及图', '埃索']
以上是此问题报错原因的解决方法,欢迎评论区留言讨论是否能解决,如果有用欢迎点赞收藏文章谢谢支持,博主才有动力持续记录遇到的问题!!!