文件操作和异常处理
Python 提供了丰富的文件操作功能和异常处理机制,使得在处理文件时能更加高效和安全。本文将介绍 Python 中常用的文件操作方法和异常处理技巧,帮助你在文件处理过程中更加灵活和可靠。
📑1. 文件操作
⭐️ 打开文件
在 Python 中,使用 open()
函数打开文件,并返回一个文件对象。
file = open('file.txt', 'r', encoding="utf-8")
open()
函数接受三个参数:文件路径、打开模式和打开编码。
打开编码常用'utf-8'
常见的打开模式包括:
'r'
:只读模式'w'
:写入模式(会覆盖原有内容)'a'
:追加模式(在文件末尾添加内容)'x'
:创建模式(创建新文件,如果文件已存在则报错)'b'
:二进制模式't'
:文本模式(默认)
⭐️ 读取文件内容
文件对象提供了多种方法来读取文件内容。
read()
:读取整个文件内容readline()
:逐行读取文件内容readlines()
:读取所有行并返回一个列表
content = file.read()
line = file.readline()
lines = file.readlines()
⭐️ 写入文件内容
使用文件对象的 write()
方法可以向文件中写入内容。
file.write('Hello, World!')
⭐️ 关闭文件
完成文件操作后,需要关闭文件对象,释放系统资源。
file.close()
⭐️ 案例演示:
演示文件:
file = open('file.txt', 'r', encoding="utf-8")
# content = file.read()
# line = file.readline()
lines = file.readlines()
file.close()
# print("读取整个文件内容:\n{}".format(content))
# print("逐行读取文件内容:\n{}".format(line))
print("读取所有行并返回一个列表:\n{}".format(lines))
读取整个文件内容结果:
逐行读取文件内容结果:
读取所有行并返回一个列表:
也可以使用 with
语句来自动管理文件的打开和关闭。
with open('file.txt', 'r') as file:
content = file.read()
# 处理文件内容
print("with方式读取整个文件内容:\n{}".format(content))
📑2. 异常处理
在文件操作过程中,可能会遇到各种错误和异常。Python 提供了异常处理机制,帮助我们优雅地处理这些异常情况。
⭐️ try-except 语句
使用 try-except
语句可以捕捉并处理异常。
try:
# 可能会引发异常的代码块
file = open('file.txt', 'r')
content = file.read()
# 其他操作
except FileNotFoundError:
# 异常处理代码块
print('文件不存在')
⭐️ 异常类型
在 except
语句中可以指定具体的异常类型进行捕捉和处理。
try:
# 可能会引发异常的代码块
file = open('file.txt', 'r')
content = file.read()
# 其他操作
except FileNotFoundError:
# 文件不存在的异常处理
print('文件不存在')
except PermissionError:
# 没有权限的异常处理
print('没有文件访问权限')
⭐️ finally 语句
finally
语句块中的代码无论是否发生异常都会执行。
try:
# 可能会
引发异常的代码块
file = open('file.txt', 'r')
content = file.read()
# 其他操作
except FileNotFoundError:
# 异常处理代码块
print('文件不存在')
finally:
# 无论是否发生异常都会执行的代码块
file.close()
⭐️ 自定义异常
除了内置的异常类型,你还可以自定义异常来处理特定的情况。
class MyCustomException(Exception):
pass
try:
if condition:
raise MyCustomException('发生了自定义异常')
except MyCustomException:
print('捕捉到自定义异常')
🌖 结论
通过本文的介绍,现在应该对 Python 的文件操作和异常处理有了更深入的了解。文件操作是日常开发中常见的任务之一,了解如何打开、读写和关闭文件能够提高你的编程效率。同时,合理使用异常处理机制可以使你的程序更加健壮和可靠。