无法读取行文本文件python

时间:2018-06-17 04:08:57

标签: python python-3.x text-files python-3.6 raspberry-pi3

我一直在使用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

任何帮助表示赞赏,提前谢谢

1 个答案:

答案 0 :(得分:0)

File.readlines()返回一个行列表 所以你读的行应该是:

HubLines[0]

或尝试只是:

HubLines

当您尝试访问 HubLines [1] 时,它表示超出范围,因为它不存在