内容正文:
模块六
Python应用开发
什么是Python?
如何搭建Python的简单开发环境?
了解Python的基本语法。
进行Python错误调试?
Virtualenv的应用。
Python对文件读/写的操作机制。
正则表达式的应用。
学习要点
01
02
03
错误和调试
Virtualenv的应用
Python I/O读写
04
05
06
进程和线程
正则表达式
实训:捕捉异常
01
错误和调试
6.1 错 误 和 调 试
错误处理在程序运行过程中,一旦发生了错误,需要事先约定返回一个错误代码,Python提供了两个非常重要的功能来处理程序运行过程中发生的错误和异常,程序员可以调用该功能来完成对Python程序的调试。
6.1.1 错误处理
1. 异常
异常即是一个事件,在程序执行过程中该事件会发生,因此程序的正常执行会受到影响。
在正常情况下,如果Python无法正常处理程序就会引发异常。在Python运行过程中,需要捕获并处理发生的异常,否则程序会终止执行。
5
6.1 错 误 和 调 试
2.异常处理
try/except语句用于捕捉异常。try/except语句用来检测try语句块中的错误,从而让except语句捕获异常信息并进行处理;try/except语句还可以与保留字else和finally配合使用。try语句的工作原理是:一个try语句开始以后,Python会在当前程序的上下文中做一个标记,如果异常发生程序转回到标记处,于是try子句会被优先执行,接下来程序执行的内容依赖于执行时是否出现异常。语法格式如下。
6.1.1 错误处理
try:
<语句块 1>
except <异常类型 1>:
<语句块 2>
else:
<语句块 3>
finally:
<语句块 4>
6
6.1 错 误 和 调 试
下面是一个简单的异常处理例子,程序试图打开一个文件并写入内容,但程序不具备该文件的写权限,因此发生了异常,代码如下。
【例6-1】简单的异常处理
6.1.1 错误处理
try:
fh = open("testfile","w")
fh.write("这是一个测试文件,用于异常测试!")
except IOError:
print("Error:没有找到文件或读取文件失败")
else:
print("内容写入文件成功")
fh.close()
运行以上代码,执行结果如图6.1所示
7
6.1 错 误 和 调 试
图 6-1、程序异常测试结果
6.1.1 错误处理
运行以上代码,执行结果如图6.1所示
8
6.1 错 误 和 调 试
【例6-2】调用堆栈、
def func(a,b):
return a / b
if __name__ == /__main__/:
import sys
import traceback
try:
func(1,0)
except Exception as e:
print("print exc")
traceback.print_exc(file=sys.stdout)
6.1.2 调用堆栈
调用堆栈traceback模块用于处理Python中的异常栈,它提供了print_exception、format_exception等输出异常栈等常用的工具函数,代码如下。
9
6.1 错 误 和 调 试
图6-2 traceback.print_exc()函数捕获异常结果
执行结果如图6-2所示。
6.1.2 调用堆栈
10
6.1 错 误 和 调 试
上面示例中使用了traceback.print_exc()函数,该函数是traceback.print_exception()函数的一个简写形式,这两个函数在捕获异常的相关数据都是通过sys.exc_info()函数得到的。使用traceback.print_exception()函数进行异常捕获的代码如下。
6.1.2 调用堆栈
11
6.1 错 误 和 调 试
【例6-3】使用traceback.print_exception()函数进行异常捕获。
def func(a,b):