Python 中常见错误总结

时间:2022-09-22 13:57:58

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/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)

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://*.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 中常见错误总结的更多相关文章

  1. python中常见错误及try-except 的用法

    1.常见的错误 我们在使用python过程中会出现: (1)SyntaxError 句法错误. (2)IndentationError 缩进错误. (3)NameError 变量未定义错误. (4)T ...

  2. python编程中常见错误

    python编程培训中常见错误最后,我想谈谈使用更多python函数(数据类型.函数.模块.类等)时可能遇到的问题.由于篇幅有限,我们试图将其简化,特别是一些高级概念.有关更多详细信息,请阅读学习py ...

  3. python中常见的错误

    python中常见的错误   1.IndentationError: unindent does not match any outer indentation leve 众所周知,Python语法要 ...

  4. Python:常见错误集锦(持续更新ing)

    初学Python,很容易与各种错误不断的遭遇.通过集锦,可以快速的找到错误的原因和解决方法. 1.IndentationError:expected an indented block 说明此处需要缩 ...

  5. Python初学者常见错误详解

    Python初学者常见错误详解 0.忘记写冒号 在 if.elif.else.for.while.class.def 语句后面忘记添加 “:”   if spam == 42 print('Hello ...

  6. Python中常见的异常总结

    Python中常见的异常总结 当Python检测到一个错误时,解释器就会指出当前流已经无法继续执行下去,这时候就出现了异常. 一.异常错误    a.语法错误     错误一:     if     ...

  7. python中常见的报错信息

    python中常见的报错信息 在运行程序时常会遇到报错提示,报错的信息会提示是哪个方向错的,从而帮助你定位问题: 搜集了一些python最重要的内建异常类名: AttributeError:属性错误, ...

  8. Python中常见的报错名称

    Python中常见的报错名称 1.SyntaxError 语法错误.看看是否用Python关键字命名变量,有没有使用中文符号,运算符.逻辑运算符等符号是不是使用不规范. 2.IndentationEr ...

  9. ios开发——错误总结篇&amp&semi;开发中常见错误和警告总结(四)

    ios开发——开发总结&开发中常见错误和警告总结(四) 网易彩票实战总结(错误) 错误总结之类的实现 经典错误之重复定义与导入错误 经典错误关于父类的实现 通知对象: 控制器的定义 Xcode ...

随机推荐

  1. java 调用 scala

    1 scala 方法的输入输出不能有 jdk 不可识别的类型(如:Int,Float,Any 等是不行的,Unit 对应到 void 是可以的.) http://rwh.readthedocs.org ...

  2. iOS阶段学习第31天笔记&lpar;UINavigationBar介绍&rpar;

    iOS学习(UI)知识点整理 一.UINavigationBar 的介绍 1)概念:UINavigationBar 是用于定义导航栏按钮的一个类对象 2)在使用UINavigationBar之前必须先 ...

  3. TortoiseSVN的相关问题

    图标覆盖问题: 创建一个保存文档的目录,创建一个工作目录,工作目录创建后,没有显示覆盖图标.解决办法如下: 找到设置,在工作目录下右键 打开界面如下: 从包含路径中设置就可以. 目录检出后把它从检出状 ...

  4. java ftp

    FTPUtil import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import jav ...

  5. VMware中第一次启动mac遇到的错误及解决方案

    本文部分参考 http://blog.sina.com.cn/s/blog_938d86e90100z5ep.html 虚拟机版本:VMware-workstation-full-7.1.3-3242 ...

  6. string之substring的用法

    package com.j1; public class StringTest1 { public static void main(String[] args) { String s =" ...

  7. iOS面试知识点

    1 iOS基础 1.1 父类实现深拷贝时,子类如何实现深度拷贝.父类没有实现深拷贝时,子类如何实现深度拷贝. 深拷贝同浅拷贝的区别:浅拷贝是指针拷贝,对一个对象进行浅拷贝,相当于对指向对象的指针进行复 ...

  8. Android对px和dip进行尺寸转换的方法

    px  转换为 dip /** * PX 转换为 DP * * @param context * @param px * @return */ public static int px2dp(Cont ...

  9. &lbrack;基础&rsqb;PeopleSoft中的作业和调度作业集合定义

    PeopleSoft进程调度器可以使一个或多个进程作为一个组.这个组在PeopleSoft中被称为作业(Job). PeopleSoft进程被定义为单个任务,程序或例程,例如cobol程序或AE程序或 ...

  10. Error code&colon;1728 Cannot load from mysql&period;proc&period; The table is probably corrupted

    Error code:1728 Cannot load from mysql.proc. The table is probably corrupted http://bugs.mysql.com/b ...