Python 读取 txt 文件是最基础的文件操作之一,核心通过内置的 open() 函数实现,配合不同的读取方法可适配小文件、大文件、按行读取、按字节读取等不同场景。本文从基础到进阶,结合实例讲解所有常用方法。
一、核心基础:open() 函数与文件打开模式
1. open() 函数的基本参数
open(file, mode='r', encoding=None)
| 参数 | 说明 |
|---|---|
file | 文件路径(相对路径:相对于当前 Python 脚本的路径;绝对路径:完整路径) |
mode | 打开模式(默认 r,只读模式),常用模式见下表 |
encoding | 文件编码格式(推荐显式指定,如 utf-8、gbk,避免乱码) |
2. 常用文件打开模式
| 模式 | 作用 |
|---|---|
r | 只读模式(默认),文件不存在则报错 |
r+ | 读写模式,文件不存在则报错 |
rb | 二进制只读模式(用于非文本文件,如图片、视频,无需指定 encoding) |
a | 追加模式,文件不存在则创建 |
w | 写入模式,文件不存在则创建,存在则清空原有内容 |
3. 关键:使用 with 语句(推荐)
with 语句会自动关闭文件,避免因忘记调用 close() 导致的资源泄漏,是 Python 读取文件的最佳实践。
# 基本结构 with open("test.txt", "r", encoding="utf-8") as f: # 读取文件的操作 content = f.read()
二、常用读取方法(按场景分类)
先准备一个测试文件 test.txt,内容如下:
Python 读取 txt 文件 这是第 2 行内容 Hello World! 这是最后一行
场景 1:小文件 → 一次性读取整个文件(read())
适合文件体积小(几 KB~ 几十 KB),需要一次性获取所有内容的场景。
# 读取整个文件 with open("test.txt", "r", encoding="utf-8") as f: content = f.read() # 返回字符串,包含所有内容(包括换行符\n) print("文件全部内容:") print(content)


