简介
在 Python 编程领域,了解文件操作模式对于高效的数据处理和文件管理至关重要。本教程提供了一份全面的指南,用于控制文件模式,详细探讨各种精确且自信地读取、写入和处理文件的技术。
在 Python 编程领域,了解文件操作模式对于高效的数据处理和文件管理至关重要。本教程提供了一份全面的指南,用于控制文件模式,详细探讨各种精确且自信地读取、写入和处理文件的技术。
文件模式是定义如何在 Python 中访问和操作文件的重要参数。它们决定了你可以对文件执行的操作类型,例如读取、写入或追加。
| 模式 | 描述 | 操作 |
|---|---|---|
| 'r' | 读取模式 | 打开文件进行读取(默认模式) |
| 'w' | 写入模式 | 打开文件进行写入,创建新文件或截断现有文件 |
| 'a' | 追加模式 | 打开文件进行写入,追加到文件末尾 |
| 'r+' | 读写模式 | 打开文件进行读取和写入 |
| 'x' | 独占创建模式 | 创建新文件,如果文件已存在则失败 |
## 读取文件
with open('example.txt', 'r') as file:
content = file.read()
## 写入文件
with open('example.txt', 'w') as file:
file.write('Hello, LabEx!')
## 追加到文件
with open('example.txt', 'a') as file:
file.write('\nNew line added')
with 语句)进行安全的文件处理## 读取整个文件内容
with open('example.txt', 'r') as file:
content = file.read()
print(content)
## 逐行读取文件
with open('example.txt', 'r') as file:
for line in file:
print(line.strip())
## 读取特定行数
with open('example.txt', 'r') as file:
lines = file.readlines(3) ## 读取前3行
## 写入文件
with open('output.txt', 'w') as file:
file.write('Hello, LabEx!')
## 追加到文件
with open('output.txt', 'a') as file:
file.write('\nNew content')
| 方法 | 描述 | 使用场景 |
|---|---|---|
read() |
读取整个文件 | 小文件 |
readline() |
读取单行 | 逐行处理 |
readlines() |
将所有行读取到列表中 | 批量行处理 |
## 读取二进制文件
with open('image.png', 'rb') as file:
binary_data = file.read()
## 写入二进制文件
with open('output.png', 'wb') as file:
file.write(binary_data)
import csv
## 写入CSV
with open('data.csv', 'w', newline='') as file:
writer = csv.writer(file)
writer.writerow(['姓名', '年龄'])
writer.writerow(['约翰', 30])
with 语句)| 异常 | 描述 | 场景 |
|---|---|---|
FileNotFoundError |
文件不存在 | 打开不存在的文件 |
PermissionError |
权限不足 | 访问受限文件 |
IOError |
与输入/输出相关的错误 | 磁盘已满、网络问题 |
IsADirectoryError |
对目录进行了文件操作尝试 | 文件路径错误 |
try:
with open('example.txt', 'r') as file:
content = file.read()
except FileNotFoundError:
print("文件未找到!")
except PermissionError:
print("访问被拒绝!")
try:
with open('data.txt', 'w') as file:
file.write("LabEx 内容")
except (IOError, PermissionError) as e:
print(f"发生错误:{e}")
import logging
logging.basicConfig(filename='file_errors.log', level=logging.ERROR)
try:
with open('critical_data.txt', 'r') as file:
data = file.read()
except Exception as e:
logging.error(f"文件操作失败:{e}")
def safe_file_read(filename):
file = None
try:
file = open(filename, 'r')
return file.read()
except FileNotFoundError:
print(f"文件 {filename} 未找到")
return None
finally:
if file:
file.close()
finally 块中关闭文件通过掌握 Python 中的文件操作模式,开发者能够提高高效处理文件的能力,实施强大的错误处理策略,并创建更可靠、灵活的文件处理应用程序。本教程为程序员提供了应对 Python 文件操作复杂性所需的关键技能。