python文件异常处理_Python>文件操作与异常处理(简单)

打开文件

f = open("test.txt", "w")  # 默认查找位置为当前文件夹,“w”模式(只写模式)下,若不存              在  该文件则创建

f = open("test.txt")  # 缺省为“r”只读模式,若在当前路径不存在该文件,则报错

"rb" 只读模式,字节流模式;"wb"写入模式,字节流写入

f.write("Hello")  # 写入模式打开文件test.txt后,向其中写入“Hello”

f.read(5)   #以读模式打开文件后,从上一次读停止的位置读5个字符,并返回这5个字符

f.readlines()   # 读模式打开文件后,读取整个文档,每行作为一个元素,存储为一个列表,        返回列表

f.close()   # 关闭文件

# 捕获异常

try:

print("test--------1--------")

f = open("test.txt","r")   #以只读模式打开test.txt,若文件不存在则报错                     (FileNotFoundError)

print("test--------2--------")

except IOError:      # FileNotFoundError是IOError,程序执行到open()函数

#文件未找到则报错,并且不继续往下执行,跳转到except               #语句继续执行

pass

1 #因为程序执行到print(num)语句未找到num变量,则报错,转到except语句执行

2 #注意,except语句后边跟的异常类型必须与捕获到的一致程序才能继续执行否则仍然报错

3 try:4 print(num)5 exceptIOError:6 print("产生错误了")

==================== RESTART: C:\Users\qisis\Desktop\test.py ===================Traceback (most recent call last):

File"C:\Users\qisis\Desktop\test.py", line 5, in

print(num)

NameError: name‘num‘ is notdefined>>>

当可能产生多种类型异常时,在except语句中可以 except (NameError, IOError): 这样并列

1 try:2 f = open("test.txt") #缺省打开模式,默认为只读,找不到文件就报错

3 print(num)4 except (IOError, IOError) as result: #两种错误类型放在()里并用逗号,分隔

5 print("产生错误了") #变量result中存储错误信息

6 print(result)

1 ==================== RESTART: C:\Users\qisis\Desktop\test.py ===================

2 产生错误了3 [Errno 2] No such file or directory: ‘test.txt‘

4 >>>

捕获所有异常 用 exception

1 importtime2 try:3 f = open("test.txt")4 try:5 #打印每一行的内容,睡眠2毫秒后再打印下一行,打印完后,关闭文件并打印“文件关闭”

6 whileTrue:7 content =f.readline()8 if content == "": #内容为空时中断循环

9 break

10 time.sleep(2) #程序睡眠2毫秒

11 print(content) #打印当前行的内容

12 finally:13 f.close()14 print("文件关闭")15 except Exception as result: #捕获异常并打印

16 print("发生异常了。。。")17 print(result)

原文:https://www.cnblogs.com/AgurZheng/p/13173173.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值