Python常见十六个错误集合,你知道那些?

使用python会出现各类各样的错误,如下是Python常见的错误以及解决方法。python

1.ValueError: ‘Conv2d_1a_3×3’ is not a valid scope name

这个是刚遇到的问题,在LZ本身手打Inception net的时候,想赋一个名字的时候出错,其实这就是命名错误的问题,若是仔细看“×”是我在中文下打的符号,python是不认的,解决方案是使用英文字母”x“代替,错误便可解决,并且也能看到使用的卷积核的大小。网络

2.IndentationError:excepted an indented block

遇到这个问题简直是要哭了,由于并非语法错误的问题,而是你代码书写规范的问题。由于Python是一个对代码缩进很是敏感的语言,你的循环结构就多是依靠缩进的形式来表示的。最多见的问题就是TAB和space键的混用,这个是很容易报错的,并且肉眼很难分辨出来,有的代码编辑器能够选择显示空格,即使是这样,也很难找到到底哪里有问题。编辑器

其实,上面的报错还有一个缘由常常遇到,就是无首行缩进,例如写if语句是,后面加冒号后若是直接换行,好的代码编辑器会自动首行缩进,但有些代码编辑器可能没有这个功能,这是须要你手动缩进,这是最好养成习惯,不要连续敲几回空格键,直接一下TAB就能够了,保持代码风格的一致在Python的使用中是很是重要的。ide

3.TypeError: max_pool2d() got an unexpected keyword argument ‘atride’

这个错误就是纯粹的手误问题了,你定义的函数中没有这个关键字,这时候就要本身查看定义的函数名字,我这里应该是”stride“,在卷积神经网络是定义步长的。函数

4.NameError: global name ‘time’ is not defined

这个问题是我在调用函数time.time()用来计算时间损耗时,使用的函数时报错的,具体解决方案很简单,只要在代码开头加上import time这句把time库文件加进来就行了。spa

5.NameError: global name ‘datetime’ is not defined

解决方案同上,from datetime import datetimecode

6.NameError: global name ‘math’ is not defined

解决方案同上,import math索引

7.Python中出现相似ascii之类的报错

这一类问题主要是在Python代码中有中文输入,这个解决方案是在代码开头加上:#coding:utf-8。否则凡是输入中文输入法下的字符就会报错。utf-8

8.NameError: global name ‘listdir’ is not defined

import os

这里须要注意几个问题,若是直接使用import os的时候,那么调用是就须要写成os.listdir(),若是是使用from os import *,那么是能够直接使用listdir(),可是会出现模块之间的命名冲突问题,对代码的稳定性会有必定的影响,因此LZ建议若是对模块函数还不是很熟悉的状况下哈市使用第一种方法。ci

9.TypeError: ‘dict_keys’ object does not support indexing

这个问题是python版本的问题

#若是使用的是python2
firstStr = myTree.keys()[0]
#LZ使用的是python3
firstSides = list(myTree.keys())
firstStr = firstSides[0]

这是看决策树代码出现的问题,python3若是运行

firstStr = myTree.keys()[0]

就会报这个错误,解决办法就是先转换成list,再把须要的索引提取出来。

10.NameError: name ‘reload’ is not defined

这个是若是小伙伴们修改了本身写的module,在重载module时可能会出现的一个问题,解决方法还时很简单

import importlib
importlib.reload(your module)

11.SyntaxError: invalid character in indentifier

我这里先贴出它报错的那行代码是怎么显示的:

b = 6\xao

这个LZ以前讲过通常出现ascii之类的问题就是混中文输入法了,出现这个问题着实尴尬,为何?肉眼哪能看出来是中文输入法下的空格和英文输入法下的空格/(ㄒoㄒ)/~~,这个只能看到底哪行报错吧中文的空格替换成英文的空格才行,其它也没啥办法,最好在输入代码时少切换切换输入法形式。

12.NameError: name ‘xrange’ is not defined

python版本问题,不兼容,python3版本的换成range()函数就好了。

13.AttributeError: ‘list’ object has no attribute ‘testVec’

这是说list没有这个属性,是啥问题呢?LZ手残的把’,’打成了’.’,知道python应该都知道’.’这是要在class里定义才能有的性质,本身凭空写是没用的。

14.SyntaxError: Missing paraentheses in call to ‘print’

老生常谈了,python的版本问题,python3.X要加()。

print ('hello world!')

15.SystemError: cannot compile ‘Python.h’

这个问题就是无法解析Python的头文件,解决方法仍是很简单的。

#先更新下源啦
sudo apt-get update

#安装python-dev
sudo apt-get install python-dev

16. no module named wx

缺乏模块的解决仍是很好解决的,缺啥装啥就好了

sudo apt-get install python-wxtools

Python接触时间不是很长,暂时遇到的错误还不时不少,因此就先写这么多!

相关文章
相关标签/搜索