Python大神为何可以快速解决报错?错题集在手,天下我有!

1.Python中出现类似ascii之类的报错

这一类问题主要是在Python代码中有中文输入,这个解决方案是在代码开头加上:#coding:utf-8。不然凡是输入中文输入法下的字符就会报错。

2.NameError: global name ‘listdir’ is not defined

import os

这里需要注意几个问题,如果直接使用import os的时候,那么调用是就需要写成os.listdir(),如果是使用from os import *,那么是可以直接使用listdir(),但是会出现模块之间的命名冲突问题,对代码的稳定性会有一定的影响,所以LZ建议如果对模块函数还不是很熟悉的情况下哈市使用第一种方法。

3.NameError: global name ‘time’ is not defined

这个问题是我在调用函数time.time()用来计算时间损耗时,使用的函数时报错的,具体解决方案很简单,只要在代码开头加上import time这句把time库文件加进来就好了。

4.NameError: global name ‘datetime’ is not defined

解决方案同上,from datetime import datetime

5.NameError: global name ‘math’ is not defined

解决方案同上,import math

6.TypeError: ‘dict_keys’ object does not support indexing

这个问题是python版本的问题

#如果使用的是python2

firstStr = myTree.keys()[0]

#LZ使用的是python3

firstSides = list(myTree.keys())

firstStr = firstSides[0]

这是看决策树代码出现的问题,python3如果运行

firstStr = myTree.keys()[0]

就会报这个错误,解决办法就是先转换成list,再把需要的索引提取出来。

7.SyntaxError: invalid character in indentifier

我这里先贴出它报错的那行代码是怎么显示的:

b = 6\xao

这个LZ之前讲过一般出现ascii之类的问题就是混中文输入法了,出现这个问题着实尴尬,为什么?肉眼哪能看出来是中文输入法下的空格和英文输入法下的空格/(ㄒoㄒ)/~~,这个只能看到底哪行报错吧中文的空格替换成英文的空格才行,其它也没啥办法,最好在输入代码时少切换切换输入法形式。

8.NameError: name ‘xrange’ is not defined

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

9.AttributeError: ‘list’ object has no attribute ‘testVec’

这是说list没有这个属性,是啥问题呢?LZ手残的把’,’打成了’.’,知道python应该都知道’.’这是要在class里定义才能有的性质,自己凭空写是没用的。

10.NameError: name ‘reload’ is not defined

这个是如果小伙伴们修改了自己写的module,在重载module时可能会出现的一个问题,解决方法还时很简单

import importlib

importlib.reload(your module)

11.SyntaxError: Missing paraentheses in call to ‘print’

老生常谈了,python的版本问题,python3.X要加()。

print ('hello world!')

12.SystemError: cannot compile ‘Python.h’

这个问题就是没法解析Python的头文件,解决方法还是很简单的。

#先更新下源啦

sudo apt-get update

#安装python-dev

sudo apt-get install python-dev

13.no module named wx

缺少模块的解决还是很好解决的,缺啥装啥就行了

sudo apt-get install python-wxtools

近期有很多朋友通过私信咨询有关Python学习问题。为便于交流,点击蓝色自己加入讨论解答资源基地

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值