赞
踩
在使用Python时,作为萌新的我总是会粗心的掉这掉那,运行时就会出现各式各样的错误,因此写这么一篇博客,来总结下编写代码的一些常见错误以及解决办法。
报错:
>>> print(a)
Traceback (most recent call last):
File "<pyshell#0>", line 1, in <module>
print(a)
NameError: name 'a' is not defined
NameError
名称错误
原因及解决方案:
报错:
#错误1
>>> a = 1
>>> if a:
print(1)
SyntaxError: expected an indented block
#错误2
>>> if a<b :
SyntaxError: invalid character in identifier
#错误3
>>> print('a)
SyntaxError: EOL while scanning string literal
SyntaxError
语法错误,代码形式错误
原因及解决方案:
报错:
>>> a = list()
>>> a.add('1')
Traceback (most recent call last):
File "<pyshell#21>", line 1, in <module>
a.add('1')
AttributeError: 'list' object has no attribute 'add'
AttributeError
赋值异常
原因及解决方案:
a.append('1')
。而a.add()
是用于往集合中添加元素的,这种语法的混用,导致了AttributeError。报错:
#错误1
>>>a = input('Enter a number:')
>>>print(a/2)
Enter a number:1
Traceback (most recent call last):
File "C:\Users\acer\Desktop\测试1.py", line 2, in <module>
print(a/2)
TypeError: unsupported operand type(s) for /: 'str' and 'int'
#错误2
>>> for i in range(1,2,2,3):
print(i)
Traceback (most recent call last):
File "<pyshell#29>", line 1, in <module>
for i in range(1,2,2,3):
TypeError: range expected at most 3 arguments, got 4
TypeError
类型错误
原因及解决方案:
eval()
,即可返回数值型。若只需要整型,可加上int()
。以此类推。help()
先查看函数的具体用法,再添加合适的参数进行使用。报错:
>>> a = list()
>>> a.append('1,2,3,a,b');a
['1,2,3,a,b']
>>> a[5]
Traceback (most recent call last):
File "<pyshell#41>", line 1, in <module>
a[5]
IndexError: list index out of range
>>>
IndexError
索引错误
原因及解决方案:
a[6]
需要返回的是第6个元素,而总共只有5个元素。故出现该错误。多数情况是因为忘记了“从0开始”这个原则导致出现这种错误,改变下索引值便可解决。报错:
>>> a = "abc"
>>> int(a)
Traceback (most recent call last):
File "<pyshell#46>", line 1, in <module>
int(a)
ValueError: invalid literal for int() with base 10: 'abc'
ValueError
值错误
原因及解决方案:
int()
需要传入的是数值型,故出现了上述错误。解决起来也很容易,只用改变输入值的类型即可。报错:
>>> d={'a':1,'b':2,'c':3}
>>> d['a']
1
>>> d['f']
Traceback (most recent call last):
File "<pyshell#49>", line 1, in <module>
d['f']
KeyError: 'f'
KeyError
字典键值错误
原因及解决方案:
d['f']
,明显是不存在的,故出现了该错误,可能因为漏填键及键值导致。通过访问已存在的键值(如a,b,c)来解决。报错:
#在该目录下并没有hello,py这个文件
>>> f = open('hello.py')
Traceback (most recent call last):
File "<pyshell#54>", line 1, in <module>
f = open('hello.py')
FileNotFoundError: [Errno 2] No such file or directory: 'hello.py'
FileNotFoundError
文件不存在错误
原因及解决方案:
ps:
如何查看python解释器当前路径及目录下的文件:
#查看目录
import os
os.getcwd()
'C:\\Users\\acer\\Desktop'
#查看目录下的文件
os.listdir('C:\\Users\\acer\\Desktop')
#由于博主的桌面太乱就不放输出结果了哈哈哈~~~
#\,及对\的转义。若存在多个\需要转义也可通过r,即os.listdir(r'C:\Users\acer\Desktop')
解决。**切记当使用了r后,不能在句末再加入\
报错:
>>> f = open('测试1.py')
>>> f.write("test")
Traceback (most recent call last):
File "<pyshell#56>", line 1, in <module>
f.write("test")
io.UnsupportedOperation: not writable
io.UnsupportedOperation
文件权限问题报错(上例中是用的f.write
,故为not writable
原因及解决方案:
>>> f=open("测试1.py",'w+')
。Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。