0

我知道我可以逐行阅读

dataFile = open('myfile.txt', 'r')
firstLine = dataFile.readline()
secondLine = dataFile.readline()
...

我也知道如何一口气读完所有的行

dataFile = open('myfile.txt', 'r')
allLines =  dataFile.read()

但我的问题是如何从.txt文件中读取一个特定的行?

我希望通过它的索引来阅读该行。

例如,我想要第 4 行,我希望类似

dataFile = open('myfile.txt', 'r')
allLines =  dataFile.readLineByIndex(3)
4

3 回答 3

3

跳过 3 行:

with open('myfile.txt', 'r') as dataFile:
    for i in range(3):
        next(dataFile)
    the_4th_line = next(dataFile)

或使用linecache.getline

the_4th_line = linecache.getline('myfile.txt', 4)
于 2013-11-11T03:56:59.733 回答
0

来自另一个Ans

Use Python Standard Library's linecache module:

line = linecache.getline(thefilename, 33)
should do exactly what you want. You don't even need to open the file -- linecache does it all for you!
于 2013-11-11T07:20:18.553 回答
0

您可以完全按照自己的意愿进行操作:

DataFile = open('mytext.txt', 'r')

content = DataFile.readlines()

oneline = content[5]

DataFile.close()

您可以通过在不创建另一个变量的情况下删除oneline = content[5]和使用来将其减少到三行(例如)我这样做只是为了清楚地表明必须用作列表来读取一行。content[5]print(content[5])content[5]

于 2017-08-24T18:24:18.663 回答