Python 中常见错误总结

IndentationError: unexpected indent 

Python 中强制缩进,,  IndentationError: unexpected indent   缩进错误

这类错误很是常见,通常都是因为tab在不一样的平台上占用长度不一样致使,有些事程序员本身直接使用空格或其余来顶替tab。 
解决办法很是简单,在所在平台上使用标准的tab进行缩进,就OK了。

UnicodeDecodeError: 'gbk' codec can't decode byte 0x80 in position 106: illegal multibyte sequence

编码错误,能够经过指定字符集解决 : encoding = “utf-8”

io.UnsupportedOperation: not readable

 文件不可读,多是文件打开模式不对

UnboundLocalError: local variable 'a' referenced before assignment

局部做用域引用错误,可能缘由是 a变量为局部变量,未定义,不可修改

no module named wx

缺乏wx模块,缺啥装啥...html

sudo apt-get install python-wxtools

SystemError: cannot compile ‘Python.h’

无法解析Python的头文件,解决方法:python

#先更新下源
sudo apt-get update

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

NameError: name ‘xrange’ is not defined

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

ameError: global name ‘time’ is not defined

解决方法:import timeflask

NameError: global name ‘datetime’ is not defined

解决方法: from datetime import datetimesegmentfault

typeError: not all arguments converted during string formatting

 

TypeError: load() got an unexpected keyword argument 'delimiter'

 

UnicodeDecodeError: 'utf-8' codec can't decode byte 0xb6 in position 33: invalid start byte

 编码错误,基本是由中文引发的(中文路径、中文编码)app

ImportError: cannot import name 'Flask'

缘由之一:当前路径名取了一个“ flask ”(当前文件名为flask)ide

AttributeError: 'dict' object has no attribute 'has_key'

Python3之后删除了has_key()方法!python2中能够。函数

解决方法:ui

if adict.has_key(key1):  
#改成
if key1 in adict:  

 bs4.FeatureNotFound: Couldn't find a tree builder with the features you requested: lxml. Do you need to install a parser library?

 

TypeError: object of type 'map' has no len()

 

ZeroDivisionError: float division by zero

 

map函数后 返回<map object at 0x000001D8259F95F8>

map(function, iterable, ......)

Python 2.x 返回列表。编码

Python 3.x 返回迭代器。 只用将iterator 转换成 list 便可, 好比  list(map()) 

TypeError: 'int' object is not iterable

不能直接用int进行迭代

参考:https://segmentfault.com/q/1010000011234516https://blog.csdn.net/yeizisn/article/details/53069775

报错代码:

list(map(frozenset, C1)) # 对每个元素 frozenset

问题在于:map这个函数的第二个参数要求能够迭代,C1里面的元素也得能够迭代。C1这个列表的每一个元素都是int,不可迭代,应该也是list才行;

http://www.runoob.com/python/python-func-map.html

解决代码:

C1.append([item])  #注意!!!item必定要加中括号,表明列表; 否则C1的元素是int,int是不可迭代的;执行list(map(frozenset, C1))会报错。

 _tkinter.TclError: unknown option "-lable"

通常是参数的名称出现错误

 TypeError: select_algorithm() takes 0 positional arguments but 1 was given

错误出如今tkinter,为combobox添加选择事件

解决方法: 为函数添加参数*args

def select_algorithm(*args):   #为函数添加参数*args
    global  algo_selected
    algo_selected = algorithm_combobox.get()
    print(algo_selected)
View Code

 ModuleNotFoundError: No module named 'cPickle'

缘由:python2有cPickle,可是在python3下,是没有cPickle的;

解决办法:将cPickle改成pickle便可

TypeError: getOpenFileName(parent: QWidget = None, caption: object = '', directory: object = '', filter: object = '', options: QFileDialog.Options = 0): argument 1 has unexpected type 'str'

# argument 1 是指第一个参数
# 它的意思是第一个参数不该该是str,因此查一下这个函数的几个参数就行了
# 实际上是由于缺乏第一个参数

filename = QFileDialog.getOpenFileName(None, 'Open File','/')  #第三个参数是默认打开路径,若是为空则打开当前路径

No module named 'sklearn.lda'

#  from sklearn.lda import LDA 这是sklearn0.16的写法,以后的版本没有了lda  能够查一下sklearn各个版本的API
#  参考连接: https://stackoverflow.com/questions/46775155/no-module-named-sklearn-lda
#  为了代码的最少更改,能够以下解决:

from sklearn.discriminant_analysis import LinearDiscriminantAnalysis as LDA

ValueError: too many values to unpack

#   参考连接:http://leonzhan.iteye.com/blog/1720315
#   上述连接中说:这种错误是指一个tuple值赋给一个tuple变量时,变量个数不够形成的。如:
#   a, b = (1, 2, 3)

#   个人错误代码:
    X, y = FileOpener.load_file(filename)
#   这里的问题是: load_file返回了三个值 X, y, dataset, 因此再加一个值来接收,改成以下代码:
    X, y,dataset = FileOpener.load_file(filename)

 

 

未完待续...................................................................................................................................................................................................................................................................................

相关文章
相关标签/搜索