无法读取行文本文件python

2024-04-19 15:59:29 发布

您现在位置:Python中文网/ 问答频道 /正文

我一直在使用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新手,我在python3.6中使用了raspberrypi3

如有任何帮助,我们将不胜感激


Tags: 文件代码txtinputopenhubprintstr
1条回答
网友
1楼 · 发布于 2024-04-19 15:59:29

你知道吗文件.readlines()返回行列表 所以你读的那行应该是:

HubLines[0]

或者尝试一下:

HubLines

当您试图访问轮毂线[1]时,它会显示超出范围,因为它不存在

相关问题 更多 >