- python报错:ModuleNotFoundError: No module named ‘cPickle‘
在python3.x下使用如下代码:
import cPickle as pk
会报如下错误:
ImportError: No module named 'cPickle'
原因:python2有cPickle,但是在python3下,是没有cPickle的;
解决办法:将cPickle改为pickle即可,代码如下:
import pickle as pk
代码中其他地方的cPickle也要更改
- NameError:name ‘xrange’ is not defined
问题出现原因
在 Python 2 中,经常会用 xrange() 创建一个可迭代对象,通常出现在 “for循环” 中,这种行为与生成器非常相似。
在 Python 3 中,range() 的实现方式与 xrange() 函数相同,所以就不存在专用的 xrange(),如果你在Python 3使用xrange()就会出现 NameError:name 'xrange' is not defined 这个错误。
解决方法:将 xrange( ) 函数全部换为 range( )
参考文章-原文解释更加详细
3.unsupported operand type(s) for +: ‘range‘ and ‘list‘
在将range和list相加时会出现以上错误,只需强制将range转换为list类型即可,如下:
columns = range(20) + ["class"]#错误
columns = list(range(20)) + ["class"]#正确