# print("111111111111")
#
# f = open("123.txt","r") #制度模式打开一个不存在的文件,报错
#
# print("222222222222") #这句代码不会执行
#此时会发生异常
#异常捕获
try:
print("111111111111")
f = open("123.txt","r")
print("222222222222")
print(num)
except (IOError,NameError): #IOError 文件报错类型输入IO异常,筛选错误类型,过滤掉
pass #将所有可能会出现的错误类型加入其中,确保错误被捕获
异常捕获
#异常捕获,获取错误描述
try:
print("111111111111")
f = open("123.txt","r")
print("222222222222")
print(num)
except Exception as result: #可以把错误信息输出查看,确实具体错误位置
print(result) #捕获全部异常就用Exception,可以承接所有异常
异常信息捕获描述,常用捕获关键词exception
import time
#try finally ~嵌套
try:
f = open("123.txt","r")
try:
while True:
content = f.readline()
if len(content) == 0:
break
time.sleep(2)
print(content)
finally: ###finally最终都会执行,所有把关闭文件放这,确保关闭
f.close()
except Exception as result:
print(result)
try……finally和嵌套
def creatgushi():
f = open("gushi.txt","w",encoding="utf-8")
f.write("白日依山尽,\n黄河入海流,\n欲穷千里目,\n更上一层楼")
f.close()
def copygushi():
r = open("gushi.txt", "r",encoding="utf-8")
try:
while True:
content = r.readlines()
if len(content) == 0:
break
try:
w = open("copy.txt","w",encoding="utf-8")
i = 1
for temp in content:
w.write(temp)
i+=1
if i>4 :
print("复制完成")
finally:
w.close()
except Exception as result:
print("错误")
finally:
r.close()
creatgushi()
copygushi()
实践:定义两个函数1.写入古诗,2.复制古诗到新的txt