SyntaxError: Non-ASCII character 与 Cannot decode using encoding "ascii" 错误解决

简介: 在Python调试中遇到的两种编码错误:1) "Cannot decode using encoding 'ascii'",此错误发生在处理含有非ASCII字节的字符串时;2) "SyntaxError: Non-ASCII character",当程序文件含中文且未声明编码。解决方法是在脚本开头添加 "# -*- coding: utf-8 -*-" 或 "#coding=UTF-8",告知Python使用UTF-8解析,确保文件实际也以UTF-8编码保存。

 python调试时遇到的两个相同的编码错误进行总结:

1.错误:Cannot decode using encoding "ascii", unexpected byte at position  
  具体 错误信息如下:
image.png

2.错误:SyntaxError: Non-ASCII character
  当程序文件中,存在中文字符时候,文件未声明编码格式就会出现报错信息:

target_td = soup.find('a', string='香吧香')

3.以上两个错误的解决办法:
  以上两个错误是因为你的Python脚本中包含了非ASCII字符,而Python默认使用ASCII编码来解析脚本。当Python遇到非ASCII字符时,它会抛出这个错误。

  解决这个问题的方法是,需要在Python脚本的最开始一行,加入一句 # -- coding: utf-8 -- 或者 #coding=UTF-8,这样Python就会使用UTF-8编码来解析脚本。例如:

# -*- coding: utf-8 -*-
# or
#coding=UTF-8

  这两行代码告诉Python,你的脚本使用的是UTF-8编码,所以Python就会使用UTF-8编码来解析你的脚本,而不是默认的ASCII编码。

  需要注意的是,脚本文件必须真的使用UTF-8编码,否则Python仍然会抛出这个错误。可以使用文本编辑器的“保存为”功能,选择UTF-8编码来保存你的脚本文件。

目录
相关文章
|
XML JSON jenkins
Python代码覆盖率分析工具----Coverage
Python代码覆盖率分析工具----Coverage
593 0
|
12月前
|
Java Python
如何通过Java程序调用python脚本
如何通过Java程序调用python脚本
418 0
|
Shell Docker 容器
解决:E: Could not open lock file /var/lib/dpkg/lock - open (13: Permission denied)
为了让容器服务启动更加方面,于是自己手写了一个 docker-compose.yml 配置脚本。脚本内容如下:
2348 0
|
7月前
|
机器学习/深度学习 人工智能 数据挖掘
AI概率学预测足球大小球让球数据分析
在足球数据分析中,AI概率学预测主要用于大小球和让球盘口的分析。大小球预测通过历史数据、机器学习和实时数据动态调整进球数;让球分析则利用Elo评分等评估实力差距,结合盘口数据预测比赛结果。数据来源包括历史比赛、球队和球员信息及外部因素。模型选择涵盖回归、分类和时间序列模型,并通过交叉验证、误差分析进行优化。实际应用包括制定投注策略、风险管理及开发自动化系统。代码示例展示了使用随机森林回归模型预测进球数的过程。
|
Ubuntu Linux
linux查看系统版本及内核信息
在Linux中检查系统版本和内核信息,可使用`uname -r`查看内核版本,`uname -a`获取详细信息,或者查看`/proc/version`。要了解发行版版本,尝试`lsb_release -a`(如果安装了)或查阅`/etc/os-release`。Red Hat家族用`/etc/redhat-release`,Debian和Ubuntu系用`/etc/issue`及相关文件。不同发行版可能需不同命令。
502 3
|
11月前
|
Ubuntu
ubuntu和debian 的安装包dpkg管理命令对安装包进行安装,查询,卸载
Ubuntu dpkg 软件包管理命令概览:安装、卸载、查看和配置软件包。包括解决依赖、强制卸载、列出及过滤已安装包、查看包详情等操作。
537 10
|
12月前
|
开发框架 IDE Java
java制作游戏,如何使用libgdx,入门级别教学
本文是一篇入门级教程,介绍了如何使用libgdx游戏开发框架创建一个简单的游戏项目,包括访问libgdx官网、设置项目、下载项目生成工具,并在IDE中运行生成的项目。
461 1
java制作游戏,如何使用libgdx,入门级别教学
|
12月前
|
存储 Oracle 关系型数据库
数据库数据恢复—Oracle ASM磁盘组故障数据恢复案例
Oracle数据库数据恢复环境&故障: Oracle ASM磁盘组由4块磁盘组成。Oracle ASM磁盘组掉线 ,ASM实例不能mount。 Oracle数据库故障分析&恢复方案: 数据库数据恢复工程师对组成ASM磁盘组的磁盘进行分析。对ASM元数据进行分析发现ASM存储元数据损坏,导致磁盘组无法挂载。
|
算法 C++ 开发者
Pythoner必看!复杂度分析:时间VS空间,你的代码为何跑得慢?深度揭秘!
在Python编程中,每位开发者都希望代码能快速执行。然而,有时候代码运行缓慢,令人困惑。本文将深入解析时间复杂度和空间复杂度,帮助你找到性能瓶颈。时间复杂度衡量算法执行时间随输入规模的增长情况,而空间复杂度关注算法所需的额外内存空间。两者是评估算法性能的核心指标。例如,线性搜索的时间复杂度为O(n),二分搜索为O(log n),但它们的空间复杂度均为O(1)。通过选择高效算法和数据结构,以及减少不必要的变量分配,可以有效优化代码性能。掌握这些技巧,有助于提升程序速度和稳定性。
178 1
|
机器学习/深度学习 算法 Java
Java调用Python方法
【8月更文挑战第7天】
548 4