版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
复习课件大学Python程序设计《文件与异常处理》复习课件文件读写·异常处理·with语句复习时间2026年复习导览01文件读写基础open函数与r/w/a模式核心区别02文件读写进阶读取方法、游标控制与with语句03异常处理机制异常类型与try-except捕获流程04异常处理进阶else、finally、raise与自定义异常05综合实战与易错点融合应用,规避高频失分陷阱章节过渡01文件读写基础打开文件是一切操作的起点掌握open函数与三大核心模式文件操作三步走与open函数参数含义补充file_path文件路径可为相对路径或绝对路径mode打开模式决定读、写、追加encoding编码格式处理中文建议
utf-8一切操作始于
open()
函数,返回一个文件对象;操作完成后务必
close()
释放资源,否则可能数据丢失或资源耗尽。推荐写法:使用
with语句自动管理关闭(后续详解)文件操作遵循固定三步:打开open()→读取写入→关闭close()1打开
open()一切操作始于open()函数,返回一个文件对象2读取写入对文件对象执行读取或写入操作3关闭
close()操作完成后务必close()释放资源固定三步三大核心模式rwa辨析模式含义文件不存在时核心特点r只读(默认)报错只能读,不能写w只写自动创建清空原内容
再写入a追加自动创建末尾添加,不覆盖最关键区别:w会清空原文件,a不会,误用w易导致重要数据被覆盖r模式文件不存在直接抛出
FileNotFoundError工作场景中
99%
的情况只用
r、w、a
三个模式扩展模式与二进制读写在基础模式后加
+
表示可读可写,加
b
表示二进制模式扩展模式r+可读可写,文件必须存在w+可读可写,会清空原内容a+可读可写,指针在末尾x独占创建,文件已存在则报错二进制读写要点处理图片、音视频等非文本文件需用
rb、wb
二进制模式,此时
不传encoding文本模式默认,t可省略文本与二进制模式
不能混用,否则报
TypeError路径易错点Windows路径反斜杠易被当转义字符,建议用正斜杠或原始字符串r'路径'章节过渡02文件读写进阶读得对,更要关得稳读取方法、游标控制与with语句四种文件读取方法read()一次读全部为字符串readline()每次读一行,行末自带换行符readlines()一次读所有行,返回列表文件读取方法对比方法特点适用场景read()一次读全部为字符串小文件readline()每次读一行,行末自带换行符大文件逐行readlines()一次读所有行,返回列表批量处理forlineinf内存友好,推荐大文件处理内存友好度高大文件处理,优先使用
for循环逐行读取,内存友好且代码简洁写入方法与游标控制写入不自动换行,游标决定读写位置写入方法write()写入字符串,需自行添加
\nwritelines()写入列表多行,同样需自行添加换行符encoding='utf-8'写入中文务必指定,否则易产生乱码游标控制seek(offset,whence)移动游标,0文件头
1当前位置
2文件尾tell()返回当前游标位置读取小贴士读取时用
strip()
去除行尾换行符,是常见清理操作with语句与上下文管理器withopen(...)asf本质等于自动化的try-finally手动管理手动
close()·异常易遗漏·代码冗长with语句自动关闭·始终释放·代码简洁手动管理易出错手动close()需显式关闭,遗漏即资源泄漏异常易遗漏资源未释放,异常路径常被跳过代码冗长try-finally嵌套,结构繁琐难维护with语句推荐自动关闭无需手动close(),退出即自动释放始终释放异常也保证清理,路径完整覆盖代码简洁单行结构清晰,可读性大幅提升章节过渡03异常处理机制让程序在错误中优雅前行异常类型与try-except捕获流程语法错误与异常的区别对比项语法错误异常发现阶段解析阶段运行阶段程序状态未开始运行已运行出错典型案例少写冒号、缩进错误1/0、访问越界错误程度异常指语法正确、可运行,但执行过程中出错;不加处理时异常会导致程序直接崩溃退出;异常处理的目的:不是消灭错误,而是在出错时提供合理方案程序错误主要分两类:语法错误
与
异常常见异常类型与层次结构所有异常继承
BaseException,业务异常归入
Exception
分支常见业务异常6项ValueErrorint("abc")值错误TypeError1+"2"类型错误ZeroDivisionError1/0除零错误FileNotFoundErroropen不存在文件IndexError列表索引越界KeyError字典键不存在异常继承层次BaseException下含
SystemExit、KeyboardInterrupt
分支Exception其余常见业务异常都归属
Exception
分支Exception子类含
ArithmeticError、LookupError、OSError、ValueError
等try-except捕获与执行流程尝试执行可能出错的代码,捕获处理异常,防止程序崩溃用
try-except
包裹可疑代码,吸收错误而非任其崩溃01try尝试执行可能出错的代码02except捕获并处理指定异常异常发生时跳转到匹配except程序不崩溃继续执行03else无异常时执行04finally无论是否异常都执行多异常捕获与捕获所有异常精准捕获优于笼统捕获合并捕获写法3项多异常合并一个except可同时捕获多种异常,用元组列出:except(ValueError,ZeroDivisionError)ase异常别名ase
给异常起别名,可调用异常信息类型名称用
type(e).__name__
可输出错误类型名称兜底捕获与易错提醒4项兜底写法exceptExceptionase
可捕获几乎所有运行时异常,常用作兜底作用域共享try和except块共享同一作用域,try中变量可在except访问未定义风险但try中途异常时,后续变量可能处于未定义状态禁止裸写禁止裸写
except:,它会捕获包括KeyboardInterrupt的所有异常章节过渡04异常处理进阶完整的异常处理才够健壮else、finally、raise与自定义异常else与finally子句完整的异常处理才够健壮高频考点:finally中的代码即使
try或except中return
也会执行不要在finally中抛新异常否则会掩盖原有异常多层嵌套时理清传递机制内层未捕获异常逐层向上传递给外层raise、assert与自定义异常三类进阶用法,各司其职raise
用于参数检查,assert
用于调试,自定义异常
贴合业务01raise主动抛异常参数检查与逻辑约束参数检查:raiseValueError("除数不能为零")重新抛出:不带参数可保留详细信息供上层处理02assert断言内部调试利器内部调试:条件为假触发
AssertionError示例:assertx>0,"x必须为正数"03自定义异常贴合业务场景继承
Exception类实现,贴合业务场景异常链:raise...from...
保留异常上下文章节过渡05综合实战与易错点融会贯通,避开失分陷阱文件与异常融合应用及高频易错点文件与异常融合实战文件操作与异常处理的完整组合是综合题高频考点文件读写与异常处理是综合题的必考组合,掌握
with
与
try-except
即可稳拿高分4项with管理资源自动关闭文件,无需手动
close()try-except捕获异常处理可能出现的
错误,避免程序崩溃else成功路径无异常时的
业务逻辑finally保证清理无论是否异常都
执行收尾操作高频易错点总结模式辨清、资源关稳、异常抓准七项易错点模式混淆误用
w
覆盖重要文件,追加应用
a忘记关闭不用
with
又漏写
close(),导致文件句柄泄漏笼统捕获滥用
exceptException,掩盖真正错误、难以定位裸写except直接
pass,异常信息全无
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年广东省苏教版高中生物选修模块第10章知识点巩固习题
- 2025-2026年江苏省人教版高二地理第3章知识点巩固习题
- 2025-2026年新生儿护理知识考核试卷
- 2025-2026年高三地理一轮复习自然地理第二章测试卷
- 2025-2026年挖掘机操作技能模拟测试题库
- 2025-2026年江苏省人教版高一英语第2单元阅读理解专项训练习题
- 2026年网络安全应急响应能力测试卷
- 2025-2026年餐饮服务食品安全法规与标准专项考试题库
- 2025-2026年健康管理师技能操作专项训练题库
- T/FJLY 002-2024加工用毛竹材
- 数字化课堂教学设计案例模板
- 2025年河南大学研究生笔试及答案
- 备战2026年高考语文真题分类汇编(全国):专题10 文言文阅读(解析版)
- 湖南省长沙市长郡集团初中校2025-2026学年七年级上学期11月期中联考语文(含答案)
- 活动礼品提供协议合同
- 工厂部门职责分工及岗位说明
- Unit 2 Helping at home 大单元教学任务单-2025外研版(三起)四年级英语上册
- 2025年中专无人机专业试题及答案
- 物流系统仿真flexsim仿真实验手册
- T-EBA 43007-2024 电子器件微小漏率检测方法
- 小学生芯片课件
评论
0/150
提交评论