如何从python中的.text文件中读取一个特定的行?

时间:2013-11-11 03:54:29

标签: python

我知道我可以逐行阅读

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

我也知道如何一次性读取所有行

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

但我的问题是如何阅读.txt文件中的某一特定行?

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

e.g。我想要第4行,我希望像

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

3 个答案:

答案 0 :(得分: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)

答案 1 :(得分: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!

答案 2 :(得分:0)

您可以完全按照自己的意愿行事:

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

content = DataFile.readlines()

oneline = content[5]

DataFile.close()

你可以删除oneline = content[5]并使用content[5]而不创建另一个变量(例如print(content[5])),将其归结为三行。我这样做只是为了明确{{1} 必须用作列表来读取一行。