Python Programming

Python文件处理:完整指南

Spread the love

本教程提供Python文件处理的全面指南。文件对于持久化数据存储和检索至关重要,使您的程序能够与超出其运行时的数据交互。我们将涵盖基本的文件操作,从打开和关闭文件到读取、写入、重命名和删除文件。我们还将探讨错误处理和高效文件管理的最佳实践。

目录:

  1. 打开文件
  2. 文件对象和上下文管理器
  3. 写入文件
  4. 读取文件
  5. 文件系统操作:重命名和删除
  6. 异常处理

1. 打开文件

open()函数是Python中文件交互的基石。它以文件名(字符串)和模式作为主要参数。模式决定了如何访问文件(读取、写入、追加等)。

常见的模式包括:

  • 'r':读取(默认)。以读取模式打开。如果文件不存在则引发错误。
  • 'w':写入。以写入模式打开。如果文件存在则覆盖;如果不存在则创建。
  • 'a':追加。以写入模式打开。如果文件存在则将数据追加到末尾;如果不存在则创建。
  • 'x':独占创建。创建一个新文件。如果文件已存在则引发错误。
  • 'b':二进制模式。用于非文本文件(图像、可执行文件)。可以与其他模式组合(例如,'rb''wb')。
  • 't':文本模式(默认)。用于文本文件。

# 以写入模式打开文件
file = open("my_file.txt", "w")

# 以读取模式打开文件
file = open("my_file.txt", "r")

# 以二进制模式读取文件
file = open("image.jpg", "rb")

2. 文件对象和上下文管理器

open()返回一个文件对象,提供文件交互的方法。一个重要的最佳实践是使用上下文管理器(with语句)来确保文件自动关闭,即使发生错误:


with open("my_file.txt", "w") as file:
    file.write("This is some text.n")  # 此代码块结束后文件自动关闭

with open("my_file.txt", "r") as file:
    contents = file.read()
    print(contents)

3. 写入文件

write()方法将字符串写入文件。要写入多行,请使用n表示换行符。


with open("my_file.txt", "w") as file:
    file.write("Line 1n")
    file.write("Line 2n")

4. 读取文件

几种方法可以读取文件数据:

  • read():将整个文件内容读取到单个字符串中。
  • readline():读取一行。
  • readlines():将所有行读取到字符串列表中。
  • 迭代:可以直接迭代文件对象逐行读取。

with open("my_file.txt", "r") as file:
    contents = file.read()
    print(contents)

    file.seek(0) # 重置文件指针
    line = file.readline()
    print(line)

    file.seek(0) # 重置文件指针
    lines = file.readlines()
    print(lines)

    file.seek(0) # 重置文件指针
    for line in file:
        print(line, end="") # end="" 防止额外换行

5. 文件系统操作:重命名和删除

os模块提供文件系统操作的函数:


import os

# 重命名文件
os.rename("my_file.txt", "new_file.txt")

# 删除文件
os.remove("new_file.txt")

6. 异常处理

在处理文件时,始终处理潜在的异常(FileNotFoundErrorIOError等):


try:
    with open("my_file.txt", "r") as file:
        # ... 文件操作 ...
except FileNotFoundError:
    print("文件未找到。")
except IOError as e:
    print(f"发生IO错误:{e}")

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注