超全面python常见报错以及解决方案梳理必收藏
作者:hacker707 发布时间:2022-02-14 16:33:17
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数字
来源:https://blog.csdn.net/xqe777/article/details/123147102


猜你喜欢
- 字符串字符串用''或者""括起来,如果字符串内部有‘或者",需要使用\进行转义>>
- 什么是 MyBatis?MyBatis 是支持普通 SQL 查询,存储过程和高级映射的优秀持久层框架。 MyBatis 消除了几乎所有的 J
- 1. 首先VC++的DLL的导出函数定义成标准C的导出函数: #ifdef LRDLLTEST_EXPORTS #define LRDLLT
- 问题:如果一个网站拥有两个域名:domain1.com和domain2.com。在网站运营前期,主推domain1.com,但发展到中期,由
- 该脚本是为了结合之前的编写的脚本,来实现数据的比对模块,实现数据的自动化!由于数据格式是定死的,该代码只做参考,有什么问题可以私信我!CSV
- 一、求算术平方根a=x=int(raw_input('Enter a number:'))if x >= :while
- 前言Django处理json也是一把好手,有时候在工作中各个部门都会提供自己的相关接口,但是信息也只是单方的信息,这时候需要运维将各个部门的
- 1、引言小 * 丝:鱼哥,鱼哥,help…小鱼:呼吸声越来越弱,你这是劳累过度??小 * 丝:拉倒吧,我这是激动的小鱼:什么大
- 众所周知,pip 可以安装、更新、卸载 Python 的第三方库,非常方便。你们中的许多人可能已经使用 pip 
- 问题我使用python 2.7和xlwt模块进行excel导出我想设置我知道可以使用的单元格的背景颜色style1 = xlwt.easyx
- 1.文本string:通用字符串操作re:正则表达式操作difflib:差异计算工具textwrap:文本填充unicodedata:Uni
- model中compile值可以根据需要更改,满足不同的检测需求#判断一段文本中是否包含简体中文import rezhmodel = re.
- 1. 前言由于公司的一个项目是基于B/S架构与WEB服务通信,使用XML数据作为通信数据,在添加新功能时,WEB端与客户端分别由不同的部门负
- 问题描述尝试用Python写一个Wordcloud的时候,出现了编码问题。照着网上某些博客的说法添添改改后,结果是变成了“UnicodeDe
- 本文实例为大家分享了python实现名片管理系统的具体代码,供大家参考,具体内容如下系统需求程序启动,显示名片管理系统欢迎界面,并显示功能菜
- 将表数据生成SQL脚本的存储过程示例:CREATE PROCEDURE dbo.UspOutputData @tablename sysna
- 复数是由一个实数和一个虚数组合构成,表示为:x+yj一个复数时一对有序浮点数(x,y),其中x是实数部分,y是虚数部分。Python语言中有
- 线上有个需求,格式化,从一堆s1,s100-s199中找出连续的服并且格式化显示出来,如:神魔:S106-109,s123,s125御剑:
- 利用Python + wxpy 可以快速的查询自己好友的地区分布情况,以及好友的性别分布数量。还可以批量下载好友的头像,拼接成大图。本次教程
- 在mysql的启动过程中有时会遇到下述错误Can't connect to local MySQL server through s