Python学习第10天---文件与异常

01 异常

在程序运行的过程中,如果发生了错误,可以事先约定返回一个错误代码,这样,就可以知道是否有错,以及出错的原因。在Python中,我们可以将那些在运行时可能会出现状况的代码放在try代码块中,在try代码块的后面可以跟上一个或多个except来捕获可能出现的异常状况。如下所示:

try:
	print('try...')
	r = 10 / int('a')
	print('result:', r)
except ValueError as e:
	print('ValueError:', e)
	except ZeroDivisionError as e:
	print('ZeroDivisionError:', e)
finally:
	print('finally...')
	print('END')

最后我们使用 finally 代码块来关闭打开的文件,释放掉程序中获取的外部资源。

由于 finally 块的代码不论程序正常还是异常都会执行到(甚至是调用了sys模块的exit函数退出Python环境,finally块都会被执行,因为exit函数实质上是引发了SystemExit异常),因此我们通常把finally块称为“总是执行代码块”,它最适合用来做释放外部资源的操作。

02 文件读写

2-1 读文件

在Python中实现文件的读写操作其实非常简单,通过Python内置的open函数即可完成。

# 标示符'r'表示读
f = open('/Users/test.txt', 'r')

如果文件不存在,open()函数就会抛出一个IOError的错误,并且给出错误码和详细的信息告诉你文件不存在。

如果文件打开成功,接下来,调用read()方法可以一次读取文件的全部内容,Python把内容读到内存,用一个str对象表示:

f.read()
'Hello, world!'

最后一步是调用close()方法关闭文件。文件使用完毕后必须关闭,因为文件对象会占用操作系统的资源,并且操作系统同一时间能打开的文件数量也是有限的:

f.close()

但是,如果我们每次都这样操作的话,未免太过于麻烦。所以Python引入with关键词,帮我们自动关闭连接、释放资源。

with open('test.txt', 'r', encoding='utf-8') as f:
    	print(f.read())

2-2 写文件

写文件和读文件是一样的,唯一区别是调用open()函数时,传入标识符'w'或者'wb'表示写文本文件或写二进制文件:

with open('/Users/test.txt', 'w') as f:
	f.write('Hello, world!')

对文件的其他操作如下图示:

03 每日一测

1、找一找自己以前编程的错误,看是否能够使用try语句捕获。
2、找出100以内的素数,并将结果写入TXT文档中。

转载于:https://my.oschina.net/u/3938912/blog/3092990

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值