Python中的一些异常
其实异常就是不正常,就是不和我们想象一样去执行。它是因为程序出现了错误而在正常控制流以外采取的行为。Python出现异常,就是因为检查了一个错误时,Python解释器无法继续继续执行下去,这时候抛出了异常。往往这个错误分为语法上和逻辑上(不擅长说概念,-_-! ),看看几个例子,总结一下:
1、NameError:尝试访问一个未声明的变量
任何可访问的变量必须在名称空间列出,访问变量需要由解释器进行搜索,如果请求的名字没有在任何名称空间里找到,那么将会生成一个 NameError异常
2、ZeroDivisionError:除数为零
任何数值被零除都会导致一个ZeroDivisionError的异常
3、SyntaxError:Python解释器语法错误
SynaxError异常是唯一不是在运行时候发生的异常,它表示Python代码中有不正确的结构,因此无法正常执行。很明显,这个错误是在编译时候产生的,Python解释器无法将该脚本转化为Python字节代码。
4、IndexError:请求的索引超出了序列范围
举例子:
>>> aList = [1 ,3]
>>> aList[0]
1
>>> aList[1]
3
>>> aList[2]
Traceback (most recent call last):
File "", line 1, in
IndexError: list index out of range
5、KeyError:请求一个不存在的字典关键字
字典中用key访问value,如果使用不存在的key,就是抛出KeyError异常
>>> aList ={'a':1,'b':2}
>>> aList['a']
1
>>> aList['c']
Traceback (most recent call last):
File "", line 1, in
KeyError: 'c'
6、IOError:输入/输出错误
如果尝试打开一个不存在或者无权限的文件等操作,就会引发操作系统I/O错误。这个错误可以多种
7、AttributeError:尝试访问未知对象属性
8、ValueError:赋值异常
例如:
>>> int(123.23)
123
>>> int('a')
Traceback (most recent call last):
File "", line 1, in
ValueError: invalid literal for int() with base 10: 'a'
由于参数的值是字符,不可转化为整形。同时还有类似的TypeError类似的异常。
上面只是一部分,对于异常情况,无论是在任何编程语言中都很重要,作为程序员,不仅要懂得怎么去检测这些异常,还应该具备异常发生时采取可靠补救措施的能力。
一如既往,作为记录,仅此而已。
相关文档:
在Windows里搭建Python的GTK+环境还是比较麻烦的有以下几个注意事项
1、PyGTK网站上下的包,可能没有Glade类(Lib\site-packages\gtk-2.0\gtk目录下没有glade.pyd),如果没有这个类你就无法在程序里导入Glade工具创建的xml,手写界面还是挺麻烦的。
2、GTK网站上的GTK包,没有包括Glade的DLL文件,还是无法读入Glade的xm ......
时常见到一些好的Python模块,如果不随时记下,等用的时候又是一阵乱翻,好在Python引用一个模块极其方便,OK,废话少说:
1. decimal
标准模块,2.4引入,用于浮点数的精确表示:
>>> 0.1 + 0.1 + 0.1 - 0.3
5.5511151231257827e-17
>>> from decimal import Decimal
>>> def _(x): retu ......
1.列表的递归---用于输出列表字符串中的每个元素 >>> def printList(L):
#如果为空,则什么都不做
if not L:
return
#如果是链表,则对第一个元素调用printList函数
& ......
初学python,现在要读一个二进制文件,查找doc只发现file提供了一个read和write函数,而且读写的都是字符串,如果只是读写char等一个字节的还行,要想读写如int,double等多字节数据就不方便了。在网上查到一篇贴子,使用struct模块里面的pack和unpack函数进行读写。下面就自己写代码验证一下。
>>> from struct ......
http://www.autohotkey.com/forum/topic53773.html
Q:I am searching for is a way to execute AHK commands from a Python script. Is this possible?
A:Yes. Here is an example.
tested with python2.6, requires AutoHotkey.dll in the working directory or path...
ahkpython.py:
#Persistent
dllc ......