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模块,缺啥装啥...
sudo apt-get install python-wxtools
SystemError: cannot compile ‘Python.h’
没法解析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 time
NameError: global name ‘datetime’ is not defined
解决方法: from datetime import datetime
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
编码错误,基本是由中文引起的(中文路径、中文编码)
ImportError: cannot import name 'Flask'
原因之一:当前路径名取了一个“ flask ”(当前文件名为flask)
AttributeError: 'dict' object has no attribute 'has_key'
Python3以后删除了has_key()方法!python2中可以。
解决方法:
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/1010000011234516,https://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)
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)
未完待续...................................................................................................................................................................................................................................................................................
Python 中常见错误总结的更多相关文章
- python中常见错误及try-except 的用法
1.常见的错误 我们在使用python过程中会出现: (1)SyntaxError 句法错误. (2)IndentationError 缩进错误. (3)NameError 变量未定义错误. (4)T ...
- python编程中常见错误
python编程培训中常见错误最后,我想谈谈使用更多python函数(数据类型.函数.模块.类等)时可能遇到的问题.由于篇幅有限,我们试图将其简化,特别是一些高级概念.有关更多详细信息,请阅读学习py ...
- python中常见的错误
python中常见的错误 1.IndentationError: unindent does not match any outer indentation leve 众所周知,Python语法要 ...
- Python:常见错误集锦(持续更新ing)
初学Python,很容易与各种错误不断的遭遇.通过集锦,可以快速的找到错误的原因和解决方法. 1.IndentationError:expected an indented block 说明此处需要缩 ...
- Python初学者常见错误详解
Python初学者常见错误详解 0.忘记写冒号 在 if.elif.else.for.while.class.def 语句后面忘记添加 “:” if spam == 42 print('Hello ...
- Python中常见的异常总结
Python中常见的异常总结 当Python检测到一个错误时,解释器就会指出当前流已经无法继续执行下去,这时候就出现了异常. 一.异常错误 a.语法错误 错误一: if ...
- python中常见的报错信息
python中常见的报错信息 在运行程序时常会遇到报错提示,报错的信息会提示是哪个方向错的,从而帮助你定位问题: 搜集了一些python最重要的内建异常类名: AttributeError:属性错误, ...
- Python中常见的报错名称
Python中常见的报错名称 1.SyntaxError 语法错误.看看是否用Python关键字命名变量,有没有使用中文符号,运算符.逻辑运算符等符号是不是使用不规范. 2.IndentationEr ...
- ios开发——错误总结篇&开发中常见错误和警告总结(四)
ios开发——开发总结&开发中常见错误和警告总结(四) 网易彩票实战总结(错误) 错误总结之类的实现 经典错误之重复定义与导入错误 经典错误关于父类的实现 通知对象: 控制器的定义 Xcode ...
随机推荐
- Java基础编程题——分别统计出其中汉字、英文字母、空格、数字和其它字符的个数
package com.yangzl.basic; import java.util.Scanner; /** * 分别统计出其中汉字.英文字母.空格.数字和其它字符的个数 * @author Adm ...
- es集群数据库~基本安装
1 安装java环境 yum -y install java-1.8.0-openjdk*->需要最新的JDK环境1.82 安装 es curl -L -O https://artifa ...
- C++学习6-面向对象编程基础(运算符重载、类的派生与继承、命名空间)
运算符重载 重载的运算符是具有特殊名字的函数:它们的名字由关键字operator和其后要定义的运算符号共同组成.重载的运算符是遵循函数重载的选择原则,根据不同类型或不同参数来选择不同的重载运算符. 运 ...
- f-GAN
学习总结于国立台湾大学 :李宏毅老师 f-GAN: Training Generative Neural Samplers using Variational Divergence Minimizat ...
- MPI 在Windows10 上安装,使用VS2013编译生成可执行程序
原文地址:http://www.cnblogs.com/leijin0211/p/6851789.html 参考博客: http://www.cnblogs.com/shixiangwan/p/662 ...
- Intellij IDEA14 搜索框及控制台乱码解决
搜索ctrl+F及ctrl+H的搜索框.调试的时候控制台.导入module都显示为为中文乱码 如下: 解决方案: File->Setting->IDE Settings->Appea ...
- Vue源码
参考文章:http://hcysun.me/2017/03/03/Vue%E6%BA%90%E7%A0%81%E5%AD%A6%E4%B9%A0/?utm_source=qq&utm_medi ...
- Oracle 服务器结构
[学习目标] 作为一个数据库管理员(DBA),经常会遇到各种没有见过的问题.除了宝贵的经验外, 通过理论基础去对问题进行判断.解决是至关重要的.因此,Oracle 服务器的结构和组成 是学习Oracl ...
- 两道SQL题目
1.查询省内所有城市气温都大于35度的省份(表名:Temp) SELECT province FROM Temp WHERE province NOT IN ( SELECT province FRO ...
- 并行(多进程)-python
1.进程创建 2.当前进程信息 使用current_process可获得当前进程的信息: (1)引入:from multiprocessing import current_process (2)获取 ...