设为首页 收藏本站
查看: 1241|回复: 0

[经验分享] Python常见十六个错误集合,你知道那些?

[复制链接]

尚未签到

发表于 2018-8-10 08:55:02 | 显示全部楼层 |阅读模式
  使用python会出现各种各样的错误,以下是Python常见的错误以及解决方法。

1.ValueError: ‘Conv2d_1a_3×3’ is not a valid scope name
  这个是刚遇到的问题,在LZ自己手打Inception net的时候,想赋一个名字的时候出错,其实这就是命名错误的问题,如果仔细看“×”是我在中文下打的符号,python是不认的,解决方案是使用英文字母”x“代替,错误即可解决,而且也能看到使用的卷积核的大小。

2.IndentationError:excepted an indented block
  遇到这个问题简直是要哭了,因为并不是语法错误的问题,而是你代码书写规范的问题。因为Python是一个对代码缩进非常敏感的语言,你的循环结构就可能是依靠缩进的形式来表示的。最常见的问题就是TAB和space键的混用,这个是很容易报错的,而且肉眼很难分辨出来,有的代码编辑器可以选择显示空格,即便是这样,也很难找到到底哪里有问题。
  其实,上面的报错还有一个原因经常遇到,就是无首行缩进,例如写if语句是,后面加冒号后如果直接换行,好的代码编辑器会自动首行缩进,但有些代码编辑器可能没有这个功能,这是需要你手动缩进,这是最好养成习惯,不要连续敲几次空格键,直接一下TAB就可以了,保持代码风格的一致在Python的使用中是非常重要的。

3.TypeError: max_pool2d() got an unexpected keyword argument ‘atride’
  这个错误就是纯粹的手误问题了,你定义的函数中没有这个关键字,这时候就要自己查看定义的函数名字,我这里应该是”stride“,在卷积神经网络是定义步长的。

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

5.NameError: global name ‘datetime’ is not defined
  解决方案同上,from datetime import datetime

6.NameError: global name ‘math’ is not defined
  解决方案同上,import math

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

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

import os  

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

9.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,再把需要的索引提取出来。

10.NameError: name ‘reload’ is not defined
  这个是如果小伙伴们修改了自己写的module,在重载module时可能会出现的一个问题,解决方法还时很简单
  

import importlib  
importlib.reload(your module)
  

11.SyntaxError: invalid character in indentifier
  我这里先贴出它报错的那行代码是怎么显示的:
  

b = 6\xao  

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

12.NameError: name ‘xrange’ is not defined
  python版本问题,不兼容,python3版本的换成range()函数就行了。

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

14.SyntaxError: Missing paraentheses in call to ‘print’
  老生常谈了,python的版本问题,python3.X要加()。
  

print ('hello world!')  

15.SystemError: cannot compile ‘Python.h’
  这个问题就是没法解析Python的头文件,解决方法还是很简单的。
  

#先更新下源啦  
sudo apt-get update
  

  
#安装python-dev
  
sudo apt-get install python-dev
  

16. no module named wx
  缺少模块的解决还是很好解决的,缺啥装啥就行了
  

sudo apt-get install python-wxtools  

  Python接触时间不是很长,暂时遇到的错误还不时很多,所以就先写这么多!

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-549463-1-1.html 上篇帖子: python3实现单例模式 下篇帖子: Python学习笔记__10.1章 多进程
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表