How do you read a line from a text file in Python?

Python readline() is a file method that helps to read one complete line from the given file. It has a trailing newline (“\n”) at the end of the string returned.

You can also make use of the size parameter to get a specific length of the line. The size parameter is optional, and by default, the entire line will be returned.

The flow of readline() is well understood in the screenshot shown below:

You have a file demo.txt, and when readline() is used, it returns the very first line from demo.txt.

How do you read a line from a text file in Python?
How readline works

In this tutorial, you will learn:

Characteristic of Python readline()

Here, are important characteristics of Python read line:

  • Python readline() method reads only one complete line from the file given.
  • It appends a newline (“\n”) at the end of the line.
  • If you open the file in normal read mode, readline() will return you the string.
  • If you open the file in binary mode, readline() will return you binary object.
  • You can give size as an argument to readline(), and it will get you the line as per the size given inclusive of the newline. By default, the size is 0, and it returns the entire line.

Syntax

file.readline(size)

Parameters

size: (optional) Here, you can specify the number, an integer value to readline(). It will get the string of that size. By default, the value of size is -1, and hence the entire string is returned.

ReturnValue

The readline() method returns the line from the file given.

Example: To read the first line using readline()

Here will understand how to read the line from the file given using the readline() method. We are going to make use of demo.txt file here to read the contents.

The file contents of demo.txt are as follows:

demo.txt

Testing - FirstLine
Testing - SecondLine
Testing - Third Line
Testing - Fourth Line
Testing - Fifth Line

The following are the steps to read a line from the file demo.txt.

Step 1)

First, open the file using the file open() method, as shown below:

myfile = open("demo.txt", "r")

The open() method takes the first parameter as the name of the file, and the second parameter is the mode is while you want to open. Right now, we have used “r”, which means the file will open in read mode.

Step 2)

Use the readline() method to read the line from the file demo.txt as shown below:

myline = myfile.readline()

Step 3)

The line read is stored inside myline. Let us now print the line to see the details:

print(myline)

Step 4)

Once the reading is done, close the file using close() method as shown below:

myfile.close()

The entire code is as follows:

myfile = open("demo.txt", "r")
myline = myfile.readline()
print(myline)
myfile.close()

Output:

Testing - FirstLine

Example: Using size argument in readline()

We have seen how to read the entire line from the file given. You can also make use of the size parameter to get only the required length of the line.

The given example has the size parameter given as 10. The first line will be fetched, and it will return the line with characters from 0 to 10.

We are going to make use of demo.txt file used earlier. Save the file demo.txt and use the location of the demo.txt inside open() function.

myfile = open("demo.txt", "r")
myline = myfile.readline(10)
print(myline)
myfile.close()

Output:

Testing -

Basic File IO in Python

The basic file IO in Python to open a file for reading or writing is the built-in open() function. The two important arguments that goes in open() function are the file path, which is a string, and the mode that specifies whether the file is meant for reading or writing. The mode argument is a string.

Syntax:

Testing - FirstLine
Testing - SecondLine
Testing - Third Line
Testing - Fourth Line
Testing - Fifth Line
0

Following are the modes available that can be used with open() method:

ModeDescriptionRThis will open() the file in read mode.WUsing w, you can write to the file.aUsing a with open() will open the file in write mode, and the contents will be appended at the end.rbThe rb mode will open the file for binary data reading.wbThe wb mode will open the file for writing binary data.

Since we need the file for reading, we are going to make use of read mode i.e. (r).

Read a File Line-by-Line in Python

The readline() method helps to read just one line at a time, and it returns the first line from the file given.

Here, we will make use of readline() to read all the lines from the file given. The file that will read is demo.txt. The contents of the file are:

Save the file demo.txt and use the location of demo.txt inside open() function.

Testing - FirstLine
Testing - SecondLine
Testing - Third Line
Testing - Fourth Line
Testing - Fifth Line

Using readline() inside while-loop will take care of reading all the lines present in the file demo.txt.

Testing - FirstLine
Testing - SecondLine
Testing - Third Line
Testing - Fourth Line
Testing - Fifth Line
2

Output:

Testing - FirstLine
Testing - SecondLine
Testing - Third Line
Testing - Fourth Line
Testing - Fifth Line

How to read all lines in a file at once?

To read all the lines from a given file, you can make use of Python readlines() function. The specialty of Python readlines() function is to read all the contents from the given file and save the output in a list.

The readlines() function reads until the End of the file, making use of readline() function internally and returns a list with all the lines read from the file.

Here is a working example to read all the lines from the file using readlines().

The file that we are going to make use is test.txt .Save the file test.txt and use the location of test.txt inside open() function.