python初学必读常见报错和警告及其解决方案(篇一)

这篇具有很好参考价值的文章主要介绍了python初学必读常见报错和警告及其解决方案(篇一)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一、AssertionError

二、AttributeError

三、DeprecationWarning

四、FileExistsError

五、FileNotFoundError


一、AssertionError

AssertionError是程序里写的assert抛出的错误

范例:

a = int(input("请输入一个数:"))
assert a != 0, "输入不能为0!"
if a != 0:
    print(100.0 / a)

输入&输出:

C:\Users\LENOVO\AppData\Local\Programs\Python\Python39\python.exe C:/Users/LENOVO/Desktop/报错.py
请输入一个数:123
Traceback (most recent call last):
  File "C:\Users\LENOVO\Desktop\报错.py", line 2, in <module>
    assert a == 0, "输入不能为0!"
AssertionError: 输入不能为0!

解决方案:

1.删除assert语句:

a = int(input("请输入一个数:"))
if a != 0:
    print(100.0 / a)

2.更改语法

a = int(input("请输入一个数:"))
assert a == 0, "输入不能为0!"  # 输入是0应该是a == 0
if a != 0:
    print(100.0 / a)

二、AttributeError

AttributeError是当程序调用了类或库中没用的变量或方法抛出的错误。

范例:

1.使用未定义的变量

import math
print("π=", math.pie)

报错:

C:\Users\LENOVO\AppData\Local\Programs\Python\Python39\python.exe C:/Users/LENOVO/Desktop/报错.py
Traceback (most recent call last):
  File "C:\Users\LENOVO\Desktop\报错.py", line 2, in <module>
    print("π=",math.pie)
AttributeError: module 'math' has no attribute 'pie'

解决方法:改成正确的类中的变量,不知道正确写法可以用"dir(math)"(math为你要查找的库或类的名字)

import math
print(dir(math))  # 或者用from导入,用dir(__math__)

输出,找到其中你要调用的变量:

python初学必读常见报错和警告及其解决方案(篇一),报错,python

所以需要改成:

import math
print("π=", math.pi)

2.使用未定义的方法: 

import math
a = float(input("请输入一个数:"))
print(math.pie)
print(a, "向上取整是:", math.cail(a))

报错:

Traceback (most recent call last):
  File "C:\Users\LENOVO\Desktop\报错.py", line 3, in <module>
    print(a, "向上取整是:", math.cail(a))
AttributeError: module 'math' has no attribute 'cail'

解决方法和上面的方法一样,用"dir(math)"函数,输出,找到需要调用的函数:

python初学必读常见报错和警告及其解决方案(篇一),报错,python

所以需要改成:

import math
a = float(input("请输入一个数:"))
print(math.pie)
print(a, "向上取整是:", math.ceil(a))

三、DeprecationWarning

DeprecationWarning的意思是弃用警告,意思是这个库已经弃用了,需要导入新的一个库。

范例:

from collections import Iterable

警告:

C:\Users\LENOVO\Desktop\报错.py:1: DeprecationWarning: Using or importing the ABCs from 'collections' instead of from 'collections.abc' is deprecated since Python 3.3, and in 3.10 it will stop working
  from collections import Iterable

这个报错的意思是:“弃用警告:使用或从“collections.abc”导入而不是“collection"导入。自Python 3.3以来,abc已被弃用,在3.10中它将停止工作”

所以我们只要改成:

from collections.abc import Iterable

就可以了。

四、FileExistsError

FileExistsError的意思是文件已存在错误,范例:

from os import mkdir
mkdir("C:\\Users\\LENOVO\\Desktop\\1")
mkdir("C:\\Users\\LENOVO\\Desktop\\1")

报错:

Traceback (most recent call last):
  File "C:\Users\LENOVO\Desktop\报错.py", line 2, in <module>
    mkdir("C:\\Users\\LENOVO\\Desktop\\1")
FileExistsError: [WinError 183] 当文件已存在时,无法创建该文件。: 'C:\\Users\\LENOVO\\Desktop\\1'

因为已经创建了“1”文件夹,所以就不可以再创建了。

解决方法:

去掉重复的创建文件或文件夹命令,删除已有的文件或文件夹:

from os import mkdir
mkdir("C:\\Users\\LENOVO\\Desktop\\1")

五、FileNotFoundError

这个报错的意思与上一个报错类型相反,意思是没有找到文件或文件夹,也就是没有创建。

范例:

from os import mkdir, rmdir
mkdir("C:\\Users\\LENOVO\\Desktop\\1")
rmdir("C:\\Users\\LENOVO\\Desktop\\1")
rmdir("C:\\Users\\LENOVO\\Desktop\\1")

报错:

Traceback (most recent call last):
  File "C:\Users\LENOVO\Desktop\报错.py", line 4, in <module>
    rmdir("C:\\Users\\LENOVO\\Desktop\\1")
FileNotFoundError: [WinError 2] 系统找不到指定的文件。: 'C:\\Users\\LENOVO\\Desktop\\1'

解决方法:

去掉重复的删除,在确保文件存在的情况下再删除或访问:

from os import mkdir, rmdir
mkdir("C:\\Users\\LENOVO\\Desktop\\1")
rmdir("C:\\Users\\LENOVO\\Desktop\\1")

这篇文章到此结束了,如果大家想要了解更多常见报错,可以关注我,我以后会陆续出更多常见报错和解决方法,当然,也可以在“报错”专栏里转到别的报错解决方法文章。如果大家觉得这片文章对您有用,可以点赞并收藏,蟹蟹!文章来源地址https://www.toymoban.com/news/detail-706387.html

到了这里,关于python初学必读常见报错和警告及其解决方案(篇一)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【初学者必读】能让你月薪过万的5大web前端核心技能

    前言 Web前端开发所涉及的内容主要包括W3C标准中的结构、行为和表现,那么这三项中我们需要掌握的核心技能是什么呢?看小编来为你揭开谜底的。 HTML发展历史有二十多年,历经多次版本更新,HTML5和CSS3的出现又是一次革新。有些人认为前端开发要掌握的技能简单,不就是

    2024年02月08日
    浏览(50)
  • VMWare网络配置的常见报错及其解决方法

    VMWare网络配置的常见报错及其解决方法 网络配置 1. 首先查看我们电脑的IP地址. 使用“Windows+R”,输入“cmd”,在对话框中输入以下指令以查看本地电脑的IP。 2. 编辑网络编辑器 接着在VMware界面选择“编辑” → rightarrow → “虚拟网络编辑器”,选择虚拟网络编辑器中的更改

    2024年02月12日
    浏览(48)
  • Hive常见报错与解决方案

    公司近期上火山云,hive、hadoop、tez等都有较大的版本升级,继而引发了 一系列的报错。现将遇到的报错内容以及相应解决方法列出来,供大家参考。 关于版本: 组件 升级前 升级后 Hive 1.2 2.3 Hadoop 2.6 2.10 Tez 0.7 0.10 1.hive中无法执行HDFS命令,查看目录属性等 原因: 开源的2.

    2024年01月15日
    浏览(38)
  • 若依项目的常见报错以及解决方案

    目录 1,系统接口500异常 2,页面出不来 原因分析: 解决方案: 3,获取当前用户名失败  原因分析: 4,下拉框中的值无法选中 原因分析: 解决方案: 5,表单验证导致前端报错 原因分析: 解决方案: 6,required URL template variable \\\'name\\\' for method parameter type String is not present..

    2023年04月25日
    浏览(30)
  • HPE服务器常见报错信息以及解决方案

    Environment 环境 HPE ProLiant Gen8 and Gen9 Servers HPE ProLiant Gen8 和 Gen9 服务器 Array Controllers 阵列控制器 General controller issues 常规控制器问题 Symptom Cause Action Controllers are no longer redundant 控制器不再冗余 Symptom Cause Action HPE Dynamic Smart Array B140i drives are not found when RAID mode is disabled 禁用 RA

    2024年02月11日
    浏览(38)
  • 常见的 Python 错误及其解决方案

    此文整理了一些常见的 Python 错误及其解决方案。 说明:无效的语法是最常见的错误之一,通常是由于编写代码时违反了 Python 的语法规则。可能的原因: 忘记在 if 、 while 、 for 等语句后写冒号,或者将冒号写成分号或其他符号。解决方案:更改为英文半角冒号。 代码中可

    2024年02月11日
    浏览(41)
  • 汇总利用YOLO8训练遇到的报错和解决方案(包含训练过程中验证阶段报错、精度报错、损失为Nan、不打印GFLOPs)

    本文为专栏内读者和我个人在训练 YOLOv8时遇到的各种错误解决方案 ,你遇到的问题本文基本上都能够解决,同时本文的内容为持续更新,定期汇总大家遇到的问题已经一些常见的问题答案,目前包含的问题已经解决方法汇总如下图所示。 专栏目录: YOLOv8改进有效系列目录

    2024年02月22日
    浏览(61)
  • 生成式AI入门必读:基本概念、数据挑战与解决方案

    随着生成式 AI(通常简称为 GenAI)的兴起,我们的世界发生了翻天覆地的变化。而随着 AI 生成内容的革命性应用程序的出现,人们也认为生成式 AI 将从根本上影响社会的各个行业和部门。 组织们都在竞相捕捉生成式 AI 的潜力。如果您也是其中一员,那么您的首要任务就是了

    2024年04月26日
    浏览(33)
  • Visual Studio 与 SQL Server 常见报错解决方案(工作向)

    这篇文章从今天创建开始,会一直更新下去,以后遇到常见但是比较容易解决的报错会在本文进行更新,有需要的朋友可以收藏再看 Visual Studio lc.exe已退出,代码为-1 无法导入以下密钥文件xxx.pfx,该密钥文件可能受密码保护 SQL Server SQL SERVER在与服务器建立连接时出错 知识拓

    2024年01月19日
    浏览(48)
  • java: 警告: 源发行版 11 需要目标发行版 11解决方案

    出现这样的问题首先检查一下自己的项目结构是否使用的对应的jdk 如果这里是正确的,之后查看一下自己的pom文件中是否指定了正确的jdk 这里的时候你改完运行就会发现还会报错, 一定要记得刷新一下maven 再重新启动项目,即解决   

    2024年02月09日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包