关于Pycharm中在运行出现语法错误:Non-UTF-8 code starting with

python 复制代码
 SyntaxError: Non-UTF-8 code starting with '\xca' in file D:/PycharmProjects/lianxi/24_module.py on line 5, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details

对于pycharm这个错误是编码声明错误,原因是你的 Python 文件中包含了非 UTF-8 编码的字符,但没有在文件开头声明正确的编码格式。

具体解释:

  • Python 3 默认使用 UTF-8 编码读取文件
  • 当文件中出现 UTF-8 无法识别的字符(如某些中文、特殊符号等),且没有声明正确编码时,就会报这个错误

关于这个报错问题,我被它给烦死了,自己也上网去查询了解决方法,也查到有很多解决方法,这里简单说一下刚开始我查找到的方法,最后发现是自己傻了没有注意下面的编码方式不对

方法一

刚开始我以为是pycharm中的文件编码错误,就去修改,发现无论怎么修改都还会报错,如果你们也遇到这个问题,还是首先去看看这里设置的对不对。

方法二

然后我又去寻找一个办法

在代码首行添加:# coding = utf-8,

python 复制代码
# -*-coding = utf-8,

然后就能正常运行了

要不然就是在在代码首行添加:# coding = gbk

python 复制代码
# -*- coding: gbk -*-

这个跟上面是一样的主要就是给你的代码添加一个声明,表明这个文件类型。

这里我的问题就是解决了,但是每一次写代码都要加上这个声明感觉特别麻烦,然后我又去寻找解决方法。。。。。。。最终还真让我找到一个简单方法

方法三

当你运行你创建的文件时,神奇的出现了以上错误,你并没有做什么,只是简单的写了一句话,如图所示。

只需在Pycharm中,你创建.py文件中的底面右下角找到GBK,将GBK换成UTF-8即可,如图所示。

去选择utf-8,然后选择转换就行了,然后你的代码就可以正常运行了,这个问题就很简单解决了,就不需要每一次写代码都要在开头加上声明。

注意事项

  1. 推荐使用UTF-8编码:UTF-8编码是国际上广泛使用的编码方式,支持几乎所有语言的字符,并且与ASCII编码兼容。因此,在编写Python代码或处理文本文件时,建议尽量使用UTF-8编码。
  2. 检查文本编辑器和IDE的设置:确保你的文本编辑器或IDE的编码设置与你的文件编码方式一致。这样可以避免在保存文件时发生编码转换错误。
  3. 明确指定编码方式:在读取或写入文件时,尽量明确指定文件的编码方式,以避免因编码不匹配而导致的错误。

总结

之所以你的项目写一句简单的话运行会出现错误,是可能你上次在同一个py文件夹或者文本中将pycharm原本的UTF-8编码reload成了GBK编码,导致你重新在创建py文件时,在給你的py语句写注释时,运行错误错误,因为pycharm识别不了你的中文字符,更换成UTF-8编码就可以

相关推荐
BK贝壳5 小时前
亿级用户签到位图选型复盘:用 bool-hybrid-array 扛冷启动打卡,也把它和 Roaring/Redis 的边界测清楚了
数据结构·python·性能优化·numpy
2601_966949656 小时前
如何根据研究的起止时间截取分钟级行情?Python 实战与 QuantDash 数据处理指南
开发语言·python·pandas·量化交易·1024程序员节·股票数据·quantdash
在世修行11 小时前
智学文枢:页面切换与跨页数据预填
python·桌面应用·signal·1024程序员节·pyside·跨页跳转·状态预填
2601_9628857211 小时前
如何用 Python 把 K 线重采样成任意周期?
开发语言·python
打工仔折腾 AI11 小时前
在 Ubuntu ARM64 部署 Q1 V3.0 MuJoCo 模型:加载、单步推理与执行器响应解析
linux·运维·人工智能·python·深度学习·ubuntu·性能优化
信誓旦旦的程序猿12 小时前
【Python量化实战宝典 #21】北向资金跟随手册:聪明钱择时信号(Python 可跑)
python·1024程序员节·股票数据api·股票数据api接口·股票api数据接口·股票量化数据api·股票量化数据接口
严谨的麻辣烫12 小时前
静态 ISP 代理请求超时怎么排查?Python 与 curl 实战
python·http·requests·1024程序员节·网络排障
KeepRobots14 小时前
11-01 温哥华不回拨:用 60 行 Python 查你的工单系统会不会差一小时(KeepRobots 工程笔记)
python
xiao77mwq14 小时前
你以为 OCR 慢?实测 81.3 s 里全是故障代价:如何把「定格态」消掉,让耗时从 6.5 s 到 13 倍差距显出原形
python
深圳市益普科技有限公司14 小时前
半导体良率管理YMS:良率与设备参数的相关性,先拉哪几组数据
人工智能·python·算法