python如何解决SyntaxError:encoding problem问题?
发布于 作者:苏南大叔 来源:程序如此灵动~ 我们相信:世界是美好的,你是我也是。平行空间的世界里面,不同版本的生活也在继续...
在执行一些别人的代码的时候,明明是没有任何语法错误的代码。但是确报错语法错误SyntaxError
。这种问题究竟解决方案是什么呢?
大家好,我是苏南大叔,欢迎查看苏南大叔的博客。本文中将要描述,如何解决python
代码报错SyntaxError:encoding problem:utf8
的问题。测试环境:win10
,python@3.6.8
,pycharm@2021.3.2
。
现象描述
使用编辑器打开代码后,可以看出代码一切正常,语法也一切正常。
值得一提的是,对应文件顶部存在定义:
#!/usr/bin/env python
# -*- coding:utf8 -*-
但是,试图执行该代码的话,却被提示发生错误。错误提示如下:
SyntaxError: encoding problem: utf8
或者,您也许会碰到的是不同的报错信息,但是解决方案是一致的。
IndentationError: unexpected indent
这个极其诡异,令人匪夷所思的问题,该如何解决呢?
解决方案一
解决方案也是非常简单,就是修改换行符。一般在编辑器的右下角会有换行符的选项,修改之后即可正常执行代码。
苏南大叔的测试环境是win10
,所以换行符也是切换成了windows
的\r\n
。如下图所示,截图的编辑器是pycharm
。
解决方案二
也可以直接删除文件顶部有关utf8
的定义,也是可以运行的。比如删除下面类似的字符串:
# -*- coding:utf8 -*-
不过个人不推荐这个方案,因为对于这个shebang
行内容,如果去掉的话,可能会引起其它的问题。
具体可以参考下面的文章:
相关文档
总结
这个问题真是比较诡异... 下面给出苏南大叔的python
相关文章链接,如果对您有帮助,就加入收藏夹吧。
如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。