高级异常
回顾异常相关的语句:
try-except 用来捕获异常的通知
try-finally 用来做一定要做的事
reise 用来发生异常通知
assert 用来根据条件来发出AssertionError类型的异常通知
with语句
语句: with 表达式1 [as 变量1],表达式2 [as 变量2]:
语句块
作用:使用于对资源进行访问的场合,确保使用过程中不管是否发生异常,都会执行必须的'清理'操作,并释放资源
如:文件使用后自动关闭;线程中锁定的自动获取和释放等
1 def read_from_file(filename='info.txt'): 2 try: 3 with open(filename) as f: 4 print("正在读取文件") 5 n = int(f.read()) 6 print('n=', n) 7 print('文件已经关闭') 8 # f = open(filename) 9 # try: 10 # print("正在读取文件") 11 # n = int(f.read()) 12 # print("n=", n) 13 # finally: 14 # f.close() 15 # print("文件已经关闭") 16 except OSError: 17 print("文件打开失败") 18 19 20 read_from_file()