读写文本文件

在编程中,处理文本文件是一个非常常见的操作。Python 提供了强大的内置功能来方便地读取和写入文本文件。本节将详细讲解如何通过打开文件、读写文件内容、以及关闭文件等步骤实现文本文件的操作。

1. 打开文件

在操作文件之前,首先需要打开文件。Python 提供了内置的 open() 函数来实现这一功能。其基本语法如下:

file = open(file_path, mode, encoding=None)
  • file_path:文件的路径,可以是相对路径或绝对路径。
  • mode:文件打开模式(如读取、写入或追加模式),常见值包括:
  • 'r':只读模式,默认值。
  • 'w':写入模式,若文件不存在会创建文件,存在则覆盖。
  • 'a':追加模式,将内容添加到文件末尾。
  • encoding:指定文件编码(如 utf-8),推荐在处理文本文件时明确指定,以避免乱码问题。

示例代码如下:

# 打开文件进行读取
file = open("example.txt", "r", encoding="utf-8")
print("文件已成功打开")
2. 读取文件内容

Python 提供了多种方法来读取文件内容,主要包括以下几种:

(1)读取整个文件内容
使用 read() 方法可以一次性读取文件的所有内容。

# 打开文件并读取所有内容
file = open("example.txt", "r", encoding="utf-8")
content = file.read()  # 读取整个文件内容
print(content)  # 打印文件内容
file.close()  # 关闭文件

(2)按行读取文件内容
使用 readlines() 方法将文件的每一行作为一个字符串存储到列表中,或者使用 for 循环逐行读取内容。

# 使用 readlines() 方法读取每一行
file = open("example.txt", "r", encoding="utf-8")
lines = file.readlines()  # 返回一个列表,每个元素是一行
for line in lines:
    print(line.strip())  # 去除换行符打印
file.close()

# 使用 for 循环逐行读取
file = open("example.txt", "r", encoding="utf-8")
for line in file:
    print(line.strip())  # 去除换行符打印
file.close()
3. 写入文件内容

写入文件时需要使用 wa 模式。注意,w 模式会覆盖原有内容,而 a 模式则是将新内容追加到文件末尾。

(1)写入新内容

# 打开文件并写入新内容
file = open("example.txt", "w", encoding="utf-8")
file.write("这是第一行内容。\n")
file.write("这是第二行内容。\n")
print("内容已写入文件")
file.close()  # 关闭文件

(2)追加内容

# 打开文件并追加内容
file = open("example.txt", "a", encoding="utf-8")
file.write("这是追加的一行内容。\n")
print("内容已追加到文件")
file.close()  # 关闭文件
4. 关闭文件

操作完成后,务必使用 close() 方法关闭文件,以释放系统资源并确保数据写入磁盘。

file = open("example.txt", "r", encoding="utf-8")
# 进行文件操作...
file.close()
5. 结合读写操作的完整代码示例

以下是一个完整的代码示例,展示了文件的读取和写入操作:

# 打开文件并写入内容
file = open("example.txt", "w", encoding="utf-8")
file.write("Python 文件操作示例\n")
file.write("写入了一些示例文本。\n")
file.close()

# 打开文件并读取内容
file = open("example.txt", "r", encoding="utf-8")
for line in file:
    print(line.strip())  # 去除换行符
file.close()
注意事项
  1. 确保文件存在:在读取文件时,若文件不存在,Python 会抛出 FileNotFoundError 异常。
  2. 指定正确的编码:在处理文本文件时,建议始终指定 encoding 参数,常用 utf-8 编码,避免出现乱码。
  3. 关闭文件:操作完成后一定要关闭文件,避免占用系统资源。