您当前的位置:首页 > 计算机 > 编程开发 > Python

Python编程常见出错信息及原因分析(1)

时间:01-02来源:作者:点击数:

1.被0除错误

演示代码:

>>> 2 / 0

Traceback (most recent call last):

  File "<pyshell#0>", line 1, in <module>

    2 / 0

ZeroDivisionError: division by zero

错误原因分析与解决方案:

0不能作为除数,这一点必须要避免。

2.类型转换错误

演示代码:

>>> x = int(input('请输入一个整数:'))

请输入一个整数:abc

Traceback (most recent call last):

  File "<pyshell#1>", line 1, in <module>

    x = int(input('请输入一个整数:'))

ValueError: invalid literal for int() with base 10: 'abc'

错误原因分析与解决方案:

在接收用户键盘输入时,input()函数一律作为字符串返回,在进行类型转换(包括把用户输入转换为整数、实数、复数等类型)时,首先应做类型检查或辅以异常处理结构。例如,下面的代码使用if/else语句进行类型检查:

>>> x = input('请输入一个整数:')

请输入一个整数:abc

>>> if x.isdigit():

    print(int(x))

else:

    print('你输入的不是整数。')

你输入的不是整数。

下面的代码使用异常处理结构避免了错误输入导致的程序崩溃:

>>> try:

    print(int(input('请输入一个整数:')))

except:

    print('你输入的不是整数。')

请输入一个整数:abc

你输入的不是整数。

3.拼写错误

演示代码:

>>> print(value)

Traceback (most recent call last):

  File "<pyshell#14>", line 1, in <module>

    print(value)

NameError: name 'value' is not defined

错误原因分析与解决方案:

这种错误一般是因为拼写错误引起的,异常信息显示名字value没有定义,此时应仔细检查变量大小写。当然,也可能是不小心使用了还没有定义的变量名导致。

4.文件不存在错误

演示代码:

>>> with open('1234.txt') as fp:

     print(fp.read())

Traceback (most recent call last):

  File "<pyshell#17>", line 1, in <module>

    with open('1234.txt') as fp:

FileNotFoundError: [Errno 2] No such file or directory: '1234.txt'

错误原因分析与解决方案:

异常信息显示在当前文件夹中不存在文件1234.txt。错误原因可能是文件名输入错误,或该文件不在当前文件夹,需要使用相对路径或绝对路径。

5.权限不足错误

演示代码:

>>> import os

>>> os.chmod('test.txt', 0o000)

>>> os.remove('test.txt')

Traceback (most recent call last):

  File "<pyshell#23>", line 1, in <module>

    os.remove('test.txt')

PermissionError: [WinError 5] 拒绝访问。: 'test.txt'

错误原因分析与解决方案:

这种情况是因为权限不足引起的,文件test.txt当前权限被设置为“不可删除、不可修改、不能删除”,所以执行删除操作时抛出异常。如果确实要删除文件,可以首先设置文件的访问控制权限,然后再删除:

>>> os.chmod('test.txt', 0o777)

>>> os.remove('test.txt')

方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门