![]() |
2.7 Python异常处理与文件操作 |
异常指一个事件,该事件会在程序执行的过程中发生,从而影响程序的正常执行,我们将这种状态称为Python异常。在Python中一切皆对象,异常也是Python的对象,表示一个错误。当 Python 脚本发生异常时,我们需要捕获并处理它,否则程序会终止执行。我们通常会把异常的类型和位置打印出来,以便程序员处理:
在上述实例中,由于 Python 打印字符串时需要引用内容,所以会报错,解决方法为在输出内容前加“”,代码如下:
假如我们在编程时知道某些语句可能会导致某种错误的发生,如果不想在异常发生时结束程序,则只需在try里捕获它,然后使用except语句处理可能出错的部分。
对Python异常的处理如下:
下面通过实例来讲解try…except…else的用法:
当i=1为备注状态时,会执行except中的代码:
常见的Python异常如表2-4所示。
表2-4
续表
上面提到,某些程序若出现某个异常,则在执行时会自动将该异常的类型和发生的位置打印出来。但是,这些错误的类型是系统已经定义好的,除了系统自定义的异常,我们也可以自定义异常。
自定义异常是指在某种情况下才引发某种异常,比如变量未被定义就拿来使用,引发自定义的A异常,这个过程就被叫作异常的引发。自定义的异常应通过直接或间接的方式继承Exception类。在Python中,要想实现在某种情况下引发某种自定义异常的功能,就可以使用raise语句。下面通过实例进行讲解:
自定义一个异常类的实例如下:
无论是否发生异常,try…finally语句都将执行最后的代码:
下面通过实例讲解对try…finally语句的使用:
我们可以使用 Python 程序直接自动操作某文件,例如:创建文件、打开文件、关闭文件、将指定的内容写入文件、读取文件、关闭文件等。
下面通过实例来讲解在Python中对文件的操作:
下面通过实例来说明如何对一个文件进行写入和关闭文件。
第1步,做好内容:
第2步,创建文件:
第3步,写入内容及关闭:
读取文件,关键点为先打开文件,再进入while循环依次读取每行:
另一种读取方法如下:
同时,Python 提供了很多文件处理包,os 模块就是很强大的文件处理包。例如,os.getcwd()用于获得当前的工作目录,os.remove()用于删除一个文件,等等。Os模块有很多强大的功能,我们会在后续的Python进阶内容中介绍。