超全面python常见报错以及解决方案梳理必收藏

 更新时间:2022年03月17日 16:46:04   作者:hacker707  
使用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常见报错以及解决方案

到此这篇关于超全面python常见报错以及解决方案梳理必收藏的文章就介绍到这了,更多相关python 常见报错内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Tensorflow分批量读取数据教程

    Tensorflow分批量读取数据教程

    今天小编就为大家分享一篇Tensorflow分批量读取数据教程,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-02-02
  • 使用Python去除小数点后面多余的0问题

    使用Python去除小数点后面多余的0问题

    这篇文章主要介绍了使用Python去除小数点后面多余的0问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-07-07
  • python闭包和装饰器你了解吗

    python闭包和装饰器你了解吗

    这篇文章主要为大家详细介绍了Python的闭包和装饰器,何为闭包?何为装饰器?感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2021-08-08
  • python安装numpy&安装matplotlib& scipy的教程

    python安装numpy&安装matplotlib& scipy的教程

    下面小编就为大家带来一篇python安装numpy&安装matplotlib& scipy的教程。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-11-11
  • Python异常处理例题整理

    Python异常处理例题整理

    在本篇文章里
    2019-07-07
  • Python如何使用Pandas库从Excel文件中提取数据

    Python如何使用Pandas库从Excel文件中提取数据

    今天我要分享一个超级实用的Python技巧:如何用pandas库从Excel文件中提取我们需要的数据列,这个技能在工作中特别有用,比如处理学生成绩表、客户名单等Excel数据时,可以快速获取关键信息,需要的朋友可以参考下
    2025-04-04
  • Python Rich增加终端显示视觉效果

    Python Rich增加终端显示视觉效果

    Python开发中,命令行界面(CLI)经常被用于交互和数据展示,虽然命令行界面通常被视为简单、枯燥的文本显示区域,通过Python的Rich库,为命令行界面带来更多生机和视觉吸引力,本文带大家探索Rich功能强大的Python库,增强终端文本渲染,使输出更具有吸引力和可读性
    2024-01-01
  • langchain中LLM模型使用详解

    langchain中LLM模型使用详解

    这篇文章主要为大家介绍了langchain中LLM模型使用详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-08-08
  • 在Python 字典中一键对应多个值的实例

    在Python 字典中一键对应多个值的实例

    今天小编就为大家分享一篇在Python 字典中一键对应多个值的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-02-02
  • python 算法 排序实现快速排序

    python 算法 排序实现快速排序

    主要分为两个子算法,PARTITION(A, p, r)以A[r]为基准对数组进行一个划分,比A[r]小的放在左边,比A[r]大的放在右边
    2012-06-06

最新评论