python常见报错以及解决方案(持续更新)

简介: 使用python难免会出现各种各样的报错,以下是Python常见的报错以及解决方法(持续更新),快进入收藏吃灰吧

使用python难免会出现各种各样的报错,以下是Python常见的报错以及解决方法(持续更新),快进入收藏吃灰吧


AttribteError: ‘module’ object has no attribute xxx’


描述:模块没有相关属性。可能出现的原因:

1.命名.py文件时,使用了Python保留字或者与模块名等相同。

解决:修改文件名

2…pyc文件中缓存了没有更新的代码。

解决:删除该库的.pyc 文件


AttributeError: ‘Obj’ object has no attribute ‘attr’


描述:对象没有相关属性。可能出现的原因:

1.Python内置对象没有属性。

解决:去除相关访问

2.Python自定义对象没有设置属性。

解决:在自定义对象中添加属性

3.通过类名访问实例属性。

解决:修改为通过实例名访问


FileExistsError: [Errmo 17] File exists


描述:文件已经存在。

解决:先判断文件是否存在,如果已经存在,则不再重新创建


FileNotFoundError: [Ermo 2] No such file or directory


描述:请求的文件或目录不存在。

解决:检查文件或目录的路径是否正确


IndentationError: expected an indented block


描述:期望一个缩进块。可能出现的原因:

1.定义函数或者类下的结构体时没有缩进。

解决:添加缩进

2.if或者for或者while语句下的结构体没有缩进。

解决:添加缩进


IndentationError: unexpected indent


描述:缩进错误。可能出现的原因:

代码 前面出现除缩进以外的空格。

解决:删除多余的空格


IndentationError: unindent does not match any outer indentation level


描述:占位问题。可能出现的原因:

1.同一级的代码块采用不同的缩进规则( 代码没对齐)。

解决:用键对齐

2.存在非法字符或其他格式的不可见的内容。

解决:去除非法字符


IndexError: list index out of range


描述:列表下标越界,可能出现的原因

1.获取元素时指定的索引值超过列表长度。

解决:修改索引值

2.列表为空,获取元素时会出错。

解决:判断不为空再获取


IndexError: string index out of range


描述:字符串下标越界,可能出现的原因

1.进行字符串截取时,指定的索引不存在。

解决:修改索引值

2.根据索引获取字符串中的某个字符时,指定的索引不存在。

解决:修改索引值或者先进行判断


sADirectoryError: [Ermo 21] Is a directory


描述:想要操作文件,但提供的是一个目录错误。可能出现的原因:

1.把目录当作文件操作,例如,test 是一个目录,使用os.remove(test)时会引发错误。

解决:添加对应的文件名

2.忘记写文件的扩展名。

解决:将文件名补充完整


ITypeError: _ init _()takes 0 positional arguments but 1 was given


描述:位置参数个数不正确。可能出现的原因:

没有为_- init__() 方法添加self参数。

解决:添加self参数


KeyError: ‘age’


描述:键错误。可能出现的原因:

1.根据键获取字典的值时,指定的键不存在。

解决:修改为已有键

2.删除一个不存在的键。

解决:在删除前先判断是否存在


ModuleNotFoundError: No module named’ pymysql ’


描述:模块不存在,可能出现的原因:

1.模块名称拼写错误。

解决:修改正确

2.没有引入模块。

解决:使用import语句导入模块

3.没有下载第三方模块。

解决:使用pip安装所需模块


NameError:name test’ is not defined


描述:某个局部或全局变量名称未找到。可能出现的原因:

1.变量没有定义。

解决:定义变量

2.Python3版本不支持某些Python2中的函数或方法,如xrange()。

解决:修改为Python3中的函数或方法


RecursionEror:maximum rcusion depth exceded in comprison


描述:超过最大递归深度

解决:禁止无限递归,设置递归深度


SyntaxError: EOL whilescanning string literal


描述:字符串的引号没有成对出现。可能出现的情况:

1.忘记写结束的引号。

解决:加上缺少的引号

2.在字符串的结尾处包括\。

解决:将\替换为\或/

3. 引号嵌套错误。

解决:建议采用外层单引号,内层双引号


SyntaxError: invalid syntax


描述:无效的语法。可能出现的原因:

1.在if、while、 for等语句后面忘记写冒号,或者冒号写作分号等其他符号。

解决:修改为英文半角的冒号

2.函数或方法的小括号写成了<>

解决:将其修改为英文半角的()

3.条件表达式中出现一个等号=。

解决:将其修改为比较运算符==

4.定义没有参数的函数时没有加小括号。

解决:添加小括号


Syntax Error: non-default argument follows default argument


描述:参数定义顺序错误。可能出现的情况:

默认值参数没有放置在所有参数的最后。

解决:更改参数顺序


SyntaxError : invalid character in identifier

描述:标识符中出现无效字符。可能出现的原因:

1.函数或方法的小括号为中文状态下输入的。

解决:修改为英文半角状态下输入

2.字符串定界符使用了中文引号。

解决:修改为英文半角状态下输入

3.代码行内包括全角空格。

解决:去除或者修改为半角空格


TimeouEror [WinEror 10060由于连接方在一段时间后没有正确答复 或连接的主机没有反应,连接尝试失败


描述:连接超时。可能出现的原因:

1.数据库连接超时。

解决: 检查数据库连接配置信息是否正确

2. 请求URL超时。

解决:检查URL是否正确以及能否正常访问

3.连接FTP服务超时。

解决:检查连接FTP的参数是否正确


TypeError: can only concatenate str (not “XXX”) to str


描述:只能进行字符串与字符串的连接。可能出现的原因:

将字符串与非字符串类型(如整型、浮点型、布尔型、序列对象等)的数据使用+进行连接。

解决:使用str()函数转换后再连接


TypeError: f() takes exactly 2 arguments (1 given)


描述:为函数提供的参数个数不够。可能出现的情况:

定义两个参数,调用时只传递一一个。

解决:将参数补充完整


TypeError: ‘tuple’ object does not support item assignment


描述:不能修改元组元素。可能出现的原因:

通过索引获取元组元素并修改。

解决:将元组修改为列表或者删除修改操作


ValueError: could not convert string to float:‘12.2月’


描述:无法将字符串转换为浮点数。可能出现的原因:

float()函数接受了非浮点数的字符串类型数据。

解决:修改为浮点数字符串


ValueError: invalid literal for int() with base 10


描述:传入无效的参数。可能出现原因:

1.int()函数接受了非数字的字符串类型数据。

解决:将非数字的字符串修改为数字字符串

2.将浮点类型的字符串数字转换为整型。

解决:先转换为浮点型再转换为整型


ValueError: substring not found


描述:未找到子字符串。可能出现的原因:

使用index()或者rindex()方法检索字符串时,指定的字符串不存在。

解决:在检索前先判断


ZeroDivisionError: division by zero


描述: 0不能作为被除数。可能出现的原因:

进行除法、取整除、求余运算时,0作为除数。

解决:修改为非0数字


以上就是python常见报错以及解决方案,如果有其他的报错可以在评论区留言,我会更新上去,欢迎各位大佬来访~


相关文章
|
22天前
|
设计模式 开发者 Python
Python中循环依赖问题及其解决方案
循环依赖是 Python 开发中需要特别注意的问题。通过重新设计模块结构、延迟导入、依赖注入、利用 Python 的动态特性以及代码重构等方法,可以有效地解决循环依赖问题。这些策略不仅有助于提高代码的可维护性和可读性,还能避免潜在的运行时错误。在实际开发中,开发者应该根据具体情况选择合适的解决方案。
|
1月前
|
Linux 网络安全 Python
Linux离线安装Python时ssh和hashlib死活安装不上的解决方案
本文提供了Linux环境下离线安装Python时遇到的"ImportError: No module named _ssl"和"ERROR:root:code for hash md5|sha1|sha224|sha256|sha384|sha512 was not found"两个问题的解决方案,通过设置OpenSSL环境变量和编辑Python源码配置文件来解决。
18 1
|
2月前
|
Serverless 语音技术 开发工具
函数计算操作报错合集之怎么何集成nls tts python sdk
在使用函数计算服务(如阿里云函数计算)时,用户可能会遇到多种错误场景。以下是一些常见的操作报错及其可能的原因和解决方法,包括但不限于:1. 函数部署失败、2. 函数执行超时、3. 资源不足错误、4. 权限与访问错误、5. 依赖问题、6. 网络配置错误、7. 触发器配置错误、8. 日志与监控问题。
|
2月前
|
机器学习/深度学习 数据采集 数据挖掘
智能决策新引擎:Python+Scikit-learn,打造高效数据分析与机器学习解决方案!
【7月更文挑战第26天】在数据驱动时代,企业需从大数据中提取价值以精准决策。Python凭借丰富的库成为数据分析利器,而Scikit-learn作为核心工具备受青睐。本文通过电商案例展示如何预测潜在买家以实施精准营销。首先进行数据预处理,包括清洗、特征选择与转换;接着采用逻辑回归模型进行训练与预测;最后评估模型并优化。此方案显著提升了营销效率和企业决策能力,预示着智能决策系统的广阔前景。
58 2
|
2月前
|
前端开发 Python
前后端分离的进化:Python Web项目中的WebSocket实时通信解决方案
【7月更文挑战第18天】在Python的Flask框架中,结合Flask-SocketIO库可轻松实现WebSocket实时通信,促进前后端分离项目中的高效交互。示例展示了一个简单的聊天应用:Flask路由渲染HTML,客户端通过Socket.IO库连接服务器,发送消息并监听广播。此方法支持多种实时通信协议,适应不同环境,提供流畅的实时体验。
63 3
|
2月前
|
SQL 分布式计算 DataWorks
DataWorks操作报错合集之重新上传后只有SQL无法运行,而Python可以正常运行,是什么导致的
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
|
2月前
|
开发者 Python
【Python】已解决:(Python3中pip无法安装urllib报错问题) ERROR: Could not find a version that satisfies the requireme
【Python】已解决:(Python3中pip无法安装urllib报错问题) ERROR: Could not find a version that satisfies the requireme
129 0
【Python】已解决:(Python3中pip无法安装urllib报错问题) ERROR: Could not find a version that satisfies the requireme
|
2月前
|
iOS开发 MacOS Python
【Python】已解决:(Pycharm切换Python版本后报错)No Python at “C:\Program Files\Python39\python.exe”
【Python】已解决:(Pycharm切换Python版本后报错)No Python at “C:\Program Files\Python39\python.exe”
70 0
【Python】已解决:(Pycharm切换Python版本后报错)No Python at “C:\Program Files\Python39\python.exe”
|
2月前
|
Python
【Python】已解决:(cmd进入Python环境报错)No Python at ‘C:\Users…\Python\Python39\python.exe’
【Python】已解决:(cmd进入Python环境报错)No Python at ‘C:\Users…\Python\Python39\python.exe’
205 0
|
2月前
|
数据采集 前端开发 测试技术
【Python】已解决:(最新版selenium框架元素定位报错)NameError: name ‘By’ is not defined
【Python】已解决:(最新版selenium框架元素定位报错)NameError: name ‘By’ is not defined
40 0