Python常见的编译错误积累

*  TypeError: 'module' object is not callable    对应的模块未找到
     将import glob  更改为:from  glob import glob即可

*. 最常见的问题就是TAB和space键的混用,

这个是很容易报错的,而且肉眼很难分辨出来。

有的代码编辑器可以选择显示空格,即便是这样,也很难找到到底哪里有问题。

其实,上面的报错还有一个原因经常遇到,就是无首行缩进。

例如:写if语句是,后面加冒号后如果直接换行,好的代码编辑器会自动首行缩进,

但有些代码编辑器可能没有这个功能,这是需要你手动缩进。

这是最好养成习惯,不要连续敲几次空格键,直接一下TAB就可以了,

保持代码风格的一致在Python的使用中是非常重要的。

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

这个错误就是纯粹的手误问题了。

你定义的函数中没有这个关键字,

这时候就要自己查看定义的函数名字,我这里应该是”stride“,

在卷积神经网络是定义步长的。

*NameError
NameError: global name ‘time’ is not defined

这个问题是我在调用函数time.time()用来计算时间损耗时,

使用的函数时报错的。

具体解决方案很简单,

只要在代码开头加上import time,把time库文件加进来就好了。

* Python中出现类似ascii之类的报错
这一类问题主要是在Python代码中有中文输入,

这个解决方案是在代码开头加上:#coding:utf-8。

不然凡是输入中文输入法下的字符就会报错。

* NameError
NameError: global name ‘listdir’ is not defined

import os 这里需要注意几个问题,

如果直接使用import os的时候,那么调用是就需要写成os.listdir(),

如果是使用from os import *,那么是可以直接使用listdir(),

但是会出现模块之间的命名冲突问题,

对代码的稳定性会有一定的影响,

所以建议如果对模块函数还不是很熟悉的情况下还是使用第一种方法。

* TypeError
TypeError: ‘dict_keys’ object does not support indexing

这个问题是python版本的问题

* NameErro
NameError: name ‘reload’ is not defined

这个是如果小伙伴们修改了自己写的module,

在重载module时可能会出现的一个问题。


* AttributeError
AttributeError: ‘list’ object has no attribute ‘testVec’

这是说list没有这个属性,是啥问题呢?

LZ手残的把’,’打成了’.’,知道python应该都知道’.’

这是要在class里定义才能有的性质,自己凭空写是没用的。

*SystemError
SystemError: cannot compile ‘Python.h’

这个问题就是没法解析Python的头文件,

你可能感兴趣的:(Python+Selenium,python)