我一直在使用python来读写文本文件,变量用行分隔。我试图找到特定文件中有多少行并读取某一行上的内容,但看起来行数为0,即使我打印文件时它给出了正确的输出。我的代码如下:
import random
HUBCop = open("HUBCOUNT.txt","r+")
HUBCount = int(HUBCop.read())
HUBCop.close()
HUBNUM = str(input("Hub number: "))
if (HUBNUM == "new"):
newHubOp=open("Hub " + (HUBCount + 1) +".txt", "w+")
HUBNUM = str(HUBCount+1)
HUBCop = open("HUBCOUNT.txt","w+")
HUBCop.write(str(HUBCount + 1))
output1 = input("Output 1: ")
output2 = input("Output 2: ")
newHubOp.write(output1 + "\n" + output2 + "1")
newHubOp.close()
TimesRun = 1
else:
HubOp = open("Hub " + HUBNUM + ".txt","r+")
HubOp.seek(0)
HubLines = HubOp.readlines()
HubOp.seek(0)
print(str(len(HubLines)))
print (HubLines[1])
文件Hub 1.txt包含:
true
false
1
然而,当我运行代码时,它给了我这个输出:
0
Traceback (most recent call last):
File "/home/pi/Desktop/NN.py", line 23, in <module>
print (HubLines[1])
IndexError: list index out of range
请注意我是python的新手,我正在使用带有python 3.6的覆盆子pi 3
任何帮助表示赞赏,提前谢谢
答案 0 :(得分:0)
File.readlines()返回一个行列表 所以你读的行应该是:
HubLines[0]
或尝试只是:
HubLines
当您尝试访问 HubLines [1] 时,它表示超出范围,因为它不存在