You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python读取txt文件调用readlines()赋值变量触发IndexError如何解决

报错原因

文件读取操作存在文件指针机制:第一次执行txt.readlines(0)[0]时,文件指针已经移动到文件内容末尾,第二次调用readlines()方法时,没有剩余内容可以读取,会返回空列表,此时访问[0]下标就会触发IndexError: list index out of range异常。

解决方案

方案1:单次读取复用内容(推荐)

只读取一次文件所有行,将结果存储在变量中复用,避免重复IO操作,同时推荐使用with语法自动管理文件句柄,无需手动关闭文件:

with open('C:/Users/z/OneDrive/Desktop/New_Text_Doc.txt', 'r', encoding='utf-8') as f:
    all_lines = f.readlines()
print(all_lines[0])
x = all_lines[0]

方案2:重置文件指针后二次读取

如果确实需要多次调用读取方法,可以在两次读取之间调用seek(0)方法,将文件指针重置到文件起始位置:

txt = open('C:/Users/z/OneDrive/Desktop/New_Text_Doc.txt', 'r', encoding='utf-8')
print(txt.readlines(0)[0])
# 重置指针到文件开头
txt.seek(0)
x = txt.readlines(0)[0]
txt.close()

内容的提问来源于stack exchange,提问作者Binx

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 04:09:03