#Python学习笔记(day7)——文件打开及异常处理

本文介绍了Python中文件的打开方式及常用操作方法,包括使用pickle模块进行对象的序列化和反序列化。此外,还详细解释了文件操作过程中可能遇到的各种异常类型及其处理方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

文件的打开及方法:

1、关于文件的打开模式 

  其中要注意的是如果以二进制方式写入文件的话,格式为 open(filename, 'wb')

  补充:方法readlines(),可以将文件对象迭代成一个正式的列表,列表中的每个元素是字符串格式

open打开的文件对象可以将其视为一个序列迭代,read()是对迭代对象字符串化的翻译过程。

个人理解:open()是计算机将一个文件导入内存的过程,计算机已经将该文件转化成迭代对象,但是无法对用户显示。而readilnes是计算机对该迭代对象的翻译过程,将计算机语言转化为可视化语言。read()是将该文件对象完全可视化可视化。

同时,对于open的对象可作为一个迭代对象iterable,直接用list生成或者for循环。

文件中的指针一开始位于文件开头,指针指向位置为read或者readline所打印的字符串位置

2、关于文件的外包存储(pickle模块)

将几乎任何对象转化成二进制存储。

        dump(object, file)
        dumps(object) -> string
        load(file) -> object
        loads(string) -> object


pickle模块的函数。load类似于read,是一个计算机翻译成可视化语言的过程。

 

3、文件的异常

常见的类型错误有

IndexError索引超出序列的范围
KeyError

字典中查找一个不存在的关键字

NameError尝试访问一个不存在的变量
OSError操作系统产生的异常(例如打开一个不存在的文件)
SyntaxErrorPython的语法错误
TypeError不同类型间的无效操作(如  1 + '1')
ValueError传入无效的参数(如  int('abc')  )
ZeroDivisionError除数为零

 

4、文件异常的处理——try语句

try:后面跟检验的代码行

若为True,则不报错或执行else中的语句

若为False,则执行Exception中的语句。其中可以将Error储存到变量reason中,用一个print(str(reason))将其打印出来

无论为True或者False,都将会执行finally语句

 

5、补充while...else语句

当while循环break之后,将会执行else语句。

 

感谢小甲鱼,两张图均来源于

http://bbs.fishc.org/forum.php?mod=viewthread&tid=45279&extra=page%3D1%26filter%3Dtypeid%26typeid%3D403

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值