Files
python/20-24/lianxi-read.py
2026-05-06 11:21:42 +08:00

69 lines
2.3 KiB
Python

# Python提供了三种主要的文件读取方法,每种方法都有其特定的用途和特点:
# read():一次性读取整个文件内容
# readline():逐行读取文件,每次读取一行
# readlines():一次性读取所有行,返回列表
# 特性 read() readline() readlines()
# 读取方式 一次性读取全部内容 逐行读取 一次性读取所有行
# 返回类型 字符串 字符串 列表(每行一个元素)
# 内存使用 高(整个文件) 低(单行) 高(所有行)
# 适用场景 小文件、配置文件 大文件、逐行处理 需要所有行的场景
# 文件指针 移动到文件末尾 移动到下一行 移动到文件末尾
# read()方法
# 一次读取整个文件内容
# 创建测试文件内容,包含多行文本
test_content = """第一行:Python文件读取
第二行:read()方法示例
第三行:一次性读取全部内容
第四行:适合小文件处理
第五行:返回字符串类型"""
with open("test-file.txt", "w", encoding="utf-8") as f:
f.write(test_content)
# 读取整个文件
with open("test-file.txt", "r", encoding="utf-8") as f:
content = f.read()
print(content)
print(f"文件长度{len(content)}")
print(f"指针位置{f.tell()}")
# readline() 逐行读取
with open("test-file.txt", "r", encoding="utf-8") as f:
line_num = 1
while True:
line = f.readline()
if not line:
break
print(f"读取第{line_num}行,内容{line}")
line_num += 1
# 重置文件指针并演示指定大小读取
print("=== readline() 指定大小读取 ===")
with open("test-file.txt", "r", encoding="utf-8") as f:
partial_line = f.readline(10)
print(f"读取前10个字符: {repr(partial_line)}")
print(f"剩余内容: {repr(f.readline())}")
# readlines()方法
# 一次读取所有航,返回列表
with open("test-file.txt", "r", encoding="utf-8") as f:
lines = f.readlines()
print(f"打印数据类型{type(lines)}")
print(f"打印数据长度{len(lines)}")
print(lines)
#
for index, line in enumerate(lines, 1):
clear_line = line.strip() # 去除收尾空格以及换行符
print(f"{index}行:{repr(clear_line)}")