在使用Python时,作为萌新的我总是会粗心的掉这掉那,运行时就会出现各式各样的错误,因此写这么一篇博客,来总结下编写代码的一些常见错误以及解决办法。
有什么python相关报错解答自己不会的、或者源码资料/模块安装/女装大佬精通技巧 都可以来这里:(https://jq.qq.com/?_wv=1027&k=2Q3YTfym)或者文末私号问我
报错:
>>> print(a)
Traceback (most recent call last):
File "", line 1, in
print(a)
NameError: name 'a' is not defined
NameError
名称错误
原因及解决方案:
报错:
#错误1
>>> a = 1
>>> if a:
print(1)
SyntaxError: expected an indented block
#错误2
>>> if a
#错误3
>>> print('a)
SyntaxError: EOL while scanning string literal
SyntaxError
语法错误,代码形式错误
原因及解决方案:
报错:
>>> a = list()
>>> a.add('1')
Traceback (most recent call last):
File "", line 1, in
a.add('1')
AttributeError: 'list' object has no attribute '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
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 "", line 1, in
for i in range(1,2,2,3):
TypeError: range expected at most 3 arguments, got 4
TypeError
类型错误
原因及解决方案:
报错:
>>> a = list()
>>> a.append('1,2,3,a,b');a
['1,2,3,a,b']
>>> a[5]
Traceback (most recent call last):
File "", line 1, in
a[5]
IndexError: list index out of range
>>>
IndexError
索引错误
原因及解决方案:
报错:
>>> a = "abc"
>>> int(a)
Traceback (most recent call last):
File "", line 1, in
int(a)
ValueError: invalid literal for int() with base 10: 'abc'
ValueError
值错误
原因及解决方案:
出现这种错误主要原因是传给对象的参数类型不准确。如上例,a是一个字符串类型,而int()需要传入的是数值型,故出现了上述错误。解决起来也很容易,只用改变输入值的类型即可。
报错:
>>> d={'a':1,'b':2,'c':3}
>>> d['a']
1
>>> d['f']
Traceback (most recent call last):
File "", line 1, in
d['f']
KeyError: 'f'
KeyError
字典键值错误
原因及解决方案:
报错:
#在该目录下并没有hello,py这个文件
>>> f = open('hello.py')
Traceback (most recent call last):
File "", line 1, in
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 "", line 1, in
f.write("test")
io.UnsupportedOperation: not writable
io.UnsupportedOperation
文件权限问题报错(上例中是用的f.write,故为not writable
原因及解决方案:
上述即为Python学习中常见的一些错误。
有什么python相关报错解答自己不会的、或者源码资料/模块安装/
女装大佬精通技巧都可以来这里:(https://jq.qq.com/?_wv=1027&k=2Q3YTfym)或者文末私号问我