简历设计网站,业务型网站首页,山东机关建设网站老版,2022年seo还值得做吗目录 前言
一、异常处理
#xff08;一#xff09;关键字
#xff08;二#xff09;捕获多个异常
#xff08;三#xff09;自定义异常
#xff08;四#xff09;抛出异常
#xff08;五#xff09;总结
二、文件读写
#xff08;一#xff09;打开文件
一关键字
二捕获多个异常
三自定义异常
四抛出异常
五总结
二、文件读写
一打开文件
二文件读操作
三文件写操作
四文件操作中的上下文管理
五处理二进制文件
六文件指针操作
七文件操作的异常处理
八总结
三、总结 前言
上篇文章主要讲的是python的三器一包 迭代器、生成器、解释器和闭包接下来再一起了解python的异常处理和文件读写模块。 一、异常处理
python的异常处理机制用于处理在程序运行时可能出现的错误避免程序因未处理的错误而崩溃。python通过 try、except、else 和 finally 语句提供了一种结构化的异常处理方式。
一关键字
python异常处理相关的关键字有try、except、else、和finally详细介绍如下
try语句
try 语句用于定义一个代码块在这个代码块中可能会发生异常。try 语句的基本结构如下
try:# 可能会引发异常的代码result 10 / 0except 语句
except 语句用于捕捉并处理 try 代码块中引发的异常。你可以捕捉特定类型的异常也可以捕捉所有异常。except 语句的基本结构如下
try:result 10 / 0
except ZeroDivisionError:print(发生了除以零错误)还可以使用 as 关键字将异常实例绑定到一个变量以便在 except 块中访问详细的异常信息
try:result 10 / 0
except ZeroDivisionError as e:print(f发生了异常: {e})else语句
else 语句是可选的它在 try 代码块没有引发异常时执行。如果 try 代码块引发了异常则 else 块中的代码不会执行。
try:result 10 / 2
except ZeroDivisionError:print(发生了除以零错误)
else:print(没有异常发生结果是:, result)finally语句
finally 语句也是可选的它无论是否发生异常都会执行。通常用于清理资源如关闭文件或释放网络连接。finally 的基本结构如下
try:file open(example.txt, r)content file.read()
except FileNotFoundError:print(文件未找到)
finally:file.close() # 无论是否发生异常都会执行二捕获多个异常
可以在一个 except 块中捕捉多个异常使用元组的形式
try:result 10 / 0
except (ZeroDivisionError, FileNotFoundError) as e:print(f发生了异常: {e})若在except中使用Exception关键字则是捕获所有异常
try:result 10 / 0
except Exception as e:print(f发生了一个异常: {e})三自定义异常
用户可以创建自定义的异常类继承自 Exception 类。这样可以提供更具体的异常信息
示例
class MyCustomError(Exception):passtry:raise MyCustomError(这是一个自定义异常)
except MyCustomError as e:print(f捕捉到自定义异常: {e})四抛出异常
在 except 块中你可以使用 raise 语句重新抛出异常以便在外层捕捉
示例
try:try:result 10 / 0except ZeroDivisionError:print(处理了除以零错误)raise # 重新抛出异常
except ZeroDivisionError:print(重新捕捉到异常)五总结
python的异常处理机制使得程序能够优雅地处理错误提高代码的健壮性和可读性。通过合理地使用 try、except、else 和 finally 语句你可以确保程序在异常发生时能采取适当的措施而不是简单地崩溃。 二、文件读写
python 提供了强大的文件读写功能使得处理文件操作变得简单和直观。
一打开文件
在 python 中你可以使用内置的 open() 函数打开文件。open() 函数的基本语法如下
file open(filename.txt, mode)filename.txt 是文件的路径可以是相对路径或绝对路径。mode 是打开文件的模式常见的模式包括 r只读模式默认值。 w写入模式会覆盖文件内容如果文件不存在则创建。 a追加模式在文件末尾追加内容如果文件不存在则创建。 b二进制模式用于处理非文本文件例如图片。可以与其他模式组合使用如 rb 或 wb。
二文件读操作
读取整个文件
with open(filename.txt, r) as file:content file.read()print(content)逐行读取文件
with open(filename.txt, r) as file:for line in file:print(line, end)或使用 readlines() 方法读取所有行并返回一个列表
with open(filename.txt, r) as file:lines file.readlines()for line in lines:print(line, end)三文件写操作
写入文本到文件
with open(filename.txt, w) as file:file.write(Hello, World!)追加文本到文件
with open(filename.txt, a) as file:file.write(\nAppended line.)四文件操作中的上下文管理
使用 with 语句可以确保文件在操作完成后自动关闭这是一种推荐的做法。with 语句会在块结束时自动调用文件对象的 close() 方法无论操作是否成功
示例
with open(filename.txt, r) as file:content file.read()
# 文件在此处自动关闭五处理二进制文件
对于二进制文件如图片、视频等你需要使用 b 模式打开文件
读取二进制文件
with open(image.jpg, rb) as file:binary_data file.read()写入二进制文件
with open(output.jpg, wb) as file:file.write(binary_data)六文件指针操作
文件指针可以通过 seek() 和 tell() 方法进行操作
seek(offset, whence)移动文件指针。
offset从 whence 指定的位置开始的字节偏移量。whence指定偏移量的起始位置。0 表示文件开头1 表示当前位置2 表示文件末尾。
示例
with open(filename.txt, r) as file:file.seek(10) # 移动到文件的第10个字节content file.read()tell()返回文件指针的当前位置。
示例
with open(filename.txt, r) as file:file.seek(10)position file.tell()print(f当前文件指针的位置是: {position})七文件操作的异常处理
处理文件操作时你应该考虑处理可能发生的异常例如文件不存在或权限错误。可以使用 try...except 语句来捕捉这些异常。
示例
try:with open(filename.txt, r) as file:content file.read()
except FileNotFoundError:print(文件未找到)
except IOError as e:print(f文件操作错误: {e})八总结
python 的文件读写操作非常灵活可以处理文本文件和二进制文件。通过使用 open() 函数配合适当的模式和上下文管理 (with 语句)可以方便地进行文件的读取和写入同时确保文件的正确关闭。掌握这些基础知识可以帮助你有效地处理文件操作任务。 三、总结
这篇文章主要介绍python的异常处理和文件读写操作异常处理可以保证代码执行异常时的正常运行文件读写则是可以对数据进行操作将数据落盘或者将文件读取到内存中。下一篇开始接触python的并发编程请拭目以待吧