Python基础语法-异常处理

#错误与异常
#捕获异常

try:
    print("-----test----1")
    f=open("123.txt","r")   #用只读模式打开一个不存在的文件,报错
    print("-----test----2") #这句代码不会执行


except IOError: #文件没找到,属于IO异常(输入输出异常)
    pass    #捕获异常后,执行的代码


#异常类型一致
try:
    print(num)
#except IOError:    #异常类型想要被捕获,需要一致
except NameError:
    print("产生错误了")



#获取错误类型
try:
    print("-----test----1")
    f=open("123.txt","r")   #用只读模式打开一个不存在的文件,报错
    print("-----test----2")

    print(num)

except (NameError,IOError) as result: #将肯产生的所有异常类型,都放到下面的小括号中
    print("产生错误了")
    print(result)


#捕获所有异常
try:
    print("-----test----1")
    f=open("123.txt","r")   
    print("-----test----2")

    print(num)
except Exception as result: #Exception可以承接任何异常
    print("产生错误了")
    print(result)



#try finally 和嵌套
import time
try:
    f=open("test.txt","r")

    try:
        while True:
            content=f.readline()
            if len(content)==0:
                break
            time.sleep(2)
            print(content)
    finally:
        f.close()
        print("文件关闭")

except Exception as result:
    print("发生异常")
finally:
    print("文件结束")

'''
作业:
1.应用文件操作的相关知识,通过Python新建一个文件gushi.txt,选择一首古诗写入文件中
⒉.另外写一个函数,读取指定文件gushi.txt,将内容复制到copy.txt中,并在控制台输出"复制完毕"。3.提示:分别定义两个函数,完成读文件和写文件的操作
尽可能完善代码,添加异常处理。

'''
#写古诗
import os
f=open("gushi.txt","w")
f.write("床前明月光,疑似地上霜。举头望明月,低头思故乡。")
f.close()


#复制古诗
f=open("copy.txt","w")
g=open("gushi.txt","r")

content=g.readlines()

for temp in content:
  f.write("%s"%temp)
    
g.close()
f.close()
    
print("复制完成")
  
#读古诗
def readGushi(Name):
  f=open("%s"%Name,"r")
  content=f.readlines()

  for temp in content:
    print("%s"%temp)
  f.close()

Name=input("请输入你想打开的文件名字:\n")
readGushi(Name)


#写古诗
def writeGushi(Name,content):
    f=open("%s"%Name,"w")
    f.write("%s"%content)
    f.close()

Name=input("请输入你想创作的古诗的文件名(含后缀):\n")
content=input("请输入古诗:")
writeGushi(Name,content)
readGushi(Name)



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值