大学Python学习课件第15讲:文件与异常.pptxVIP

大学Python学习课件第15讲:文件与异常.pptx

本文档由用户AI专业辅助创建,并经网站质量审核通过
  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

大学Python学习课件第15讲:文件与异常处理进阶SUBTITLEHEREMindShow.fun2026-01-07

CONTENTS文件操作进阶异常处理机制路径操作与目录管理上下文管理器进阶综合案例:日志记录器调试与最佳实践

01文件操作进阶

文件操作进阶核心概念回顾:

文件基础与操作模式。常用方法对比:

不同文件读写方法解析。高级技巧应用:

二进制与序列化操作。

核心概念回顾文件对象:

Python中通过内置open()函数创建文件对象,它是进行读写操作的接口。

上下文管理器:

使用with语句管理文件资源,能确保文件被正确关闭,避免资源泄露。

编码问题:

处理文本文件时需指定正确的字符编码(如utf-8),以避免乱码。

常用方法对比方法描述适用场景`read()`读取整个文件内容至字符串。文件较小,需一次性处理。`readline()`逐行读取文件,返回字符串。处理大型文件,节省内存。`readlines()`读取所有行,返回字符串列表。需要按行处理且文件不大。`write()`将字符串写入文件。写入单个字符串或拼接好的内容。`writelines()`将字符串序列写入文件。写入一个已有的字符串列表。

高级技巧应用二进制读写:

使用’rb’或’wb’模式处理图片、音频等非文本文件。

对象序列化:

利用pickle模块将Python对象转换为字节流,便于存储或传输。

JSON处理:

使用json模块读写JSON格式文件,实现跨语言的数据交换。

02异常处理机制

异常处理机制异常基础:

理解错误与异常的区别。处理语句详解:

try-except-else-finally。自定义异常:

创建与应用用户异常。

异常基础语法错误:

解析代码时发现的问题,程序无法运行,必须修正。

运行时异常:

程序执行期间出现的错误,如除零、索引越界,可通过异常处理恢复。

异常类层次:

所有异常都继承自BaseException,Exception是常见异常基类。

处理语句详解语句块功能描述执行时机`try`包含可能引发异常的代码块。首先执行。`except`捕获并处理指定的异常。`try`中发生异常时执行。`else`提供未发生异常时的执行路径。`try`成功执行后运行。`finally`无论是否发生异常都会执行的清理代码。在所有块之后执行。

自定义异常定义异常类:

继承自Exception类,可添加自定义属性与方法以传递更多错误信息。

抛出异常:

使用raise语句主动触发异常,用于指示程序中的特定错误状态。

最佳实践:

自定义异常应具有清晰的名称,并用于模块或库中特定的错误情况。

03路径操作与目录管理

路径操作与目录管理路径表示:

理解不同操作系统下的路径差异。目录操作:

遍历、创建与删除。文件信息:

获取与判断文件属性。

路径表示字符串路径使用字符串表示文件位置,但跨平台时需注意反斜杠与正斜杠的区别。路径对象pathlib模块提供的Path对象,以面向对象方式操作路径,更安全直观。常用属性通过name,parent,suffix等属性快速获取路径的各个组成部分。

目录操作方法/函数所属模块功能说明`Path.iterdir()``pathlib`遍历目录,返回路径对象的生成器。`os.walk()``os`递归遍历目录树,生成文件名三元组。`Path.mkdir()``pathlib`创建新目录,可设置父目录存在与否。`shutil.rmtree()``shutil`递归删除整个目录树,需谨慎使用。

文件信息元数据查询:

使用Path.stat()获取文件大小、修改时间等详细信息。存在性判断:

通过Path.exists()、is_file()、is_dir()方法判断路径类型。权限检查:

利用os.access()检查文件的可读、可写、可执行权限。

04上下文管理器进阶

上下文管理器进阶原理剖析:

__enter__与__exit__魔法方法。

创建方式对比:

类与上下文管理器的实现。

实用场景:

资源管理与线程锁。

原理剖析协议定义:

上下文管理器是实现了__enter__和__exit__方法的对象。

进入过程:

__enter__方法在with块开始执行,其返回值可赋给as后的变量。

退出过程:

__exit__方法在块结束时调用,负责处理异常和清理资源。

创建方式对比实现方式关键工具优点类实现定义`__enter__`和`__exit__`方法。功能强大,逻辑清晰,可复用。函数实现使用`contextlib.contextmanager`装饰器。代码简洁,无需创建完整类。内置支持如`open()`,`threading.Lock()`。开箱即用,无需额外实现。

实用场景数据库连接确保数据库会话在使用后正确关闭,避免连

文档评论(0)

文库垃圾佬 + 关注
实名认证
文档贡献者

这个人很懒

1亿VIP精品文档

相关文档