Python 常见问题汇总

在这里插入图片描述
在使用python过程中,遇到一些常见的问题,整理汇总如下:

1、常见错误列表

异常 描述

NameError 尝试访问一个没有声明的变量

ZeroDivisionError 除数为0

SyntaxError 语法错误

IndexError 索引超出序列范围

KeyError 请求一个不存在的字典关键字

IOError 输入输出错误(比如你要读的文件不存在)

AttributeError 尝试访问未知的对象属性

ValueError 传给函数的参数类型不正确

2、SynaxError

(1) SyntaxError: Non-UTF-8 code starting with ‘\xb6’
编码问题,对中文识别不好,在程序的最上面加上编码格式语句:
#coding:gbk如果未解决,可继续添加:#coding:gb2312

(2) SyntaxError: EOL while scanning string literal.
字符串以\结尾或者字符串缺少引号。

3、OSError

(1)OSError: [WinError 193] %1 不是有效的 Win32 应用程序
出现场景:python调用动态链接库时出现此错误;
原因:python与调用的dll的位数不一致;
解决方案:创建anaconda虚拟环境,匹配dll位数。

4、ImportError

(1)ImportError: cannot import name ‘etree’ from ‘lxml’
已经成功安装lxml,仍然提示此错误,个人解决方案,更换为python3.5.

5、UnicodeEncodeError

(1)UnicodeEncodeError: ‘gbk’ codec can’t encode character ‘\ufeff’ in position 0: illegal multibyte sequence
出现原因:python自身编码的局限性导致,不能打印所有的Unicode字符。
解决方案:指定编码格式为gbk,如果仍然不能解决,可以查看一下不能识别的字符有没有实际意义,如果无实际意义,使用replace替换掉。

6、UnicodeDecodeError

(1)UnicodeDecodeError: ‘gbk’ codec can’t decode byte 0x80 in position 32: illegal multibyte sequence
产生场景:读取txt文件时报错。
解决方法:在open函数中指定解码格式,encoding = ‘utf-8’。

7、pycharm使用过程中遇到的问题

(1)第三方包安装成功,但是pycharm引入(import)失败
第一种:第三方包的安装路径与指定的解释器路径不一致(anaconda虚拟环境中容易是此种原因),将第三方包直接复制到解释器路径下(lib/site-packages)。
第二种:设置源目录(即需要引用第三方包的程序的最上层目录)。

(2)Pcharm控制台中文乱码
解决方法:setting-fileEncodings–global encoding 设置成GBK,即可。

8、TypeError

(1)TypeError: ‘builtin_function_or_method’ object is not subscriptable
原因及解决方案:查看列表里面的len()函数,是不是把小括号写成中括号了。

(2)TypeError:a bytes-like object is required,not ‘str’
原因:python2和python3字符串兼容问题,python3对文本和二进制数据做了明确区分,文本用unicode编码,为str类型,二进制数据则为bytes类型。
解决方法:
encode():将str转换为bytes类型
decode(): 将bytes转为为str

9、python2和Python3库不同导致的错误

(1)cookielib导入失败
python2.0直接导入import cookielib即可,python3.6改成http.cookiejar了,所以改成from http import cookiejar即可。

(2)python3.x中出现"name ‘unicode’ is not defined"
python3中已经取消unicode函数了,直接将该行注释掉即可。

文末分享:这下面有我学习整理出来的自动化测试资料、大厂面试…待你来领取~ 见公众号:【伤心的辣条】愿你我都有所获…


合理利用自己每一分每一秒的时间来学习提升自己,不要再用"没有时间“来掩饰自己思想上的懒惰!趁年轻,使劲拼,给未来的自己一个交代!

我的测试学习交流群:902061117 群里有技术大牛一起交流分享~

推荐好文:

包装成1年工作经验的测试工程师,我给他的面试前的建议如下

自动化测试到底要学什么?

为何跳槽不考虑腾讯?聊聊我和鹅厂的一点往事

自动化测试和手动测试哪个更高级?

新手必看:怎么写一个合格的测试用例?

python登录接口测试问题记录与解决 ( 干 货 )

  • 14
    点赞
  • 52
    收藏
    觉得还不错? 一键收藏
  • 9
    评论
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值