user2881553
user2881553

Reputation:

How to read one particular line from .txt file in python?

I know I can read the line by line with

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

I also know how to read all the lines in one go

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

But my question is how to read one particular line from .txt file?

I wish to read that line by its index.

e.g. I want the 4th line, I expect something like

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

Upvotes: 0

Views: 375

Answers (3)

Xantium
Xantium

Reputation: 11605

You can do exactly as you wanted with this:

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

content = DataFile.readlines()

oneline = content[5]

DataFile.close()

you could take this down to three lines by removing oneline = content[5] and using content[5] without creating another variable (print(content[5]) for example) I did this just to make it clear that content[5] must be a used as a list to read the one line.

Upvotes: 0

a.m.
a.m.

Reputation: 2161

From another 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!

Upvotes: 0

falsetru
falsetru

Reputation: 369134

Skip 3 lines:

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

Or use linecache.getline:

the_4th_line = linecache.getline('myfile.txt', 4)

Upvotes: 3

Related Questions