当尝试从文本文件中打印一行时,我一直遇到索引错误。我是python的新手,我仍在尝试学习,因此,如果您可以对我耐心等待,我将不胜感激。如果我还有其他需要,请告诉我!
回溯显示为
...
print(f2.readlines()[1]):
IndexError: list index out of range
尝试打印第2行(...[1]
)时,出现此错误。
这是当前的脚本。
with open("f2.txt", "r") as f2:
print(f2.readlines()[1])
文件中有3行文字。
f2.txt的内容
peaqwenasd
lasnebsat
kikaswmors
答案 0 :(得分:0)
似乎f2.seek(0)
对于解决此问题很有必要。
with open("f2.txt", "r") as f2:
f2.seek(0)
print(f2.readlines()[1])
答案 1 :(得分:0)
您尚未提供解决问题所需的所有代码,但给定的症状指向多次调用readlines
。
阅读文档:readlines()
读取整个文件并返回内容列表。因此,文件指针位于文件的末尾。如果此时再次调用readlines()
,它将返回一个空文件。
您在给我们提供的代码之前显然已经打了readlines()
电话。 seek(0)
会将文件指针重置为文件的开头,而您第二次正在读取整个文件。
有许多教程向您展示了遍历文件内容的规范方法。我强烈建议您使用其中之一。例如:
with open("f2.txt", "r") as f2:
for line in f2.readlines():
# Here you can work with the lines in sequence
如果您需要按非顺序顺序处理行,则
with open("f2.txt", "r") as f2:
content = list(f2.readlines())
# Now you can access content[2], content[1], etc.