Python读取txt文件中某几行的核心方法是使用readlines()
配合列表切片,或者通过linecache
模块高效获取特定行。 关键亮点包括:① 按行号精准提取;② 大文件内存优化方案;③ 异常行号自动处理。
-
基础切片法
用with open('file.txt') as f: lines = f.readlines()
读取全部行后,通过lines[1:5]
切片获取第2~5行(注意索引从0开始)。适合小文件,但全文件加载可能消耗内存。 -
逐行遍历法
结合enumerate()
遍历时判断行号,如for i, line in enumerate(f): if 3 <= i < 7: print(line)
。避免全文件加载,适合大文件逐行处理。 -
linecache模块
调用linecache.getline('file.txt', 3)
直接获取第3行,支持多次重复读取同一文件。内置缓存机制,但需注意文件修改后需linecache.clearcache()
更新。 -
异常处理技巧
使用try-except
捕获IndexError
,处理超出文件总行数的请求,例如try: line = lines[100] except IndexError: line = None
。 -
生成器优化
用(line for i, line in enumerate(f) if i in {2,4,6})
生成器表达式按需提取离散行,减少内存占用。
提示:超千万行文件建议用方法2或5,高频读取推荐方法3。行号从0开始计数是常见错误点,需特别留意。