Python读取文件特定行可以通过linecache
模块或直接遍历文件对象实现,关键方法包括linecache.getline()
精准定位和循环遍历结合enumerate()
筛选,适用于大文件高效读取和小文件快速处理。
-
使用
linecache
模块快速读取
linecache.getline(filename, lineno)
可直接获取指定行内容,尤其适合重复读取同一文件的场景。例如:pythonCopy Code
import linecache line = linecache.getline('example.txt', 3) # 读取第3行
注意:此方法会缓存文件内容,适合小文件或需多次访问的情况。
-
遍历文件对象结合
enumerate()
对大文件推荐逐行遍历,通过enumerate()
记录行号,匹配到目标行后立即停止,节省内存:pythonCopy Code
with open('large_file.txt', 'r') as f: for i, line in enumerate(f, 1): # 行号从1开始 if i == 5: # 获取第5行 target_line = line break
-
切片读取多行内容
若需连续多行(如第3-5行),可结合列表切片:pythonCopy Code
with open('data.txt') as f: lines = f.readlines()[2:5] # 读取第3行到第5行(索引从0开始)
小文件用linecache
更便捷,大文件推荐遍历+中断,多行需求优先切片处理。注意行号索引差异(从0或1开始),避免越界错误。