Python File readlines() Method



The Python File readlines() method reads all the lines from a file in a single go. That means, a file is read continuously until the End Of File (or EOF) is hit. It is possible by using the readline() method internally.

This method works only on smaller files as the file contents are read into the memory and then the lines are split into separate lines. The readlines() method also accepts an optional argument where we can limit the number of bytes to be read.

An empty string is returned only when EOF is encountered immediately.

Syntax

Following is the syntax for the Python File readlines() method −

fileObject.readlines(sizehint);

Parameters

  • sizehint − This is the number of bytes to be read from the file.

Return Value

This method returns a list containing the lines.

Example

Let us use an existing file "foo.txt" to read lines from it using the readlines() method. The contents in the foo.txt file are as follows −

This is 1st line
This is 2nd line
This is 3rd line
This is 4th line
This is 5th line

The following example shows the usage of the Python File readlines() method.

# Open a file
fo = open("foo.txt", "r+")
print("Name of the file: ", fo.name)

# Assuming file has following 5 lines
# This is 1st line
# This is 2nd line
# This is 3rd line
# This is 4th line
# This is 5th line

line = fo.readlines()
print("Read Line: ", line)

# Close opened file
fo.close()

When we run above program, it produces following result −

Name of the file:  foo.txt
Read Line: ['This is 1st line\n', 'This is 2nd line\n', 'This is 3rd line\n', 'This is 4th line\n', 'This is 5th line']

Example

But if we pass some values as the optional parameter sizehint, this method only reads up to the given bytes and appends the newline character at the end. However, if the argument is less than the length of the first line, the method still returns the complete first line.

# Open a file
fo = open("foo.txt", "r+")
print("Name of the file: ", fo.name)

# Passing the size argument to the readline() method
line = fo.readlines(2)
print("Read Line:", line)

# Close opened file
fo.close()

If we compile and run the program above, the result is produced as follows −

Name of the file:  foo.txt
Read Line: ['This is 1st line\n']

Example

Now, if the file is opened in the read binary mode (rb), this method returns the binary object.

We are opening an existing file "foo.txt" in the read binary mode (rb) using the open() function. The readlines() method is called on the file object representing this file, to obtain the return value as its contents in binary form. In this case, if the argument is less than the length of the first line, the method returns an empty list.

# Open a file
fo = open("foo.txt", "rb")
print("Name of the file: ", fo.name)

line = fo.readlines()
print("Read Line:", line)

# Passing the optional parameter
line = fo.readlines(3)
print("Read Line:", line)

# Close opened file
fo.close()

Once the program is compiled and run, the output is displayed as follows −

Name of the file:  foo.txt
Read Line: [b'This is 1st line\r\n', b'This is 2nd line\r\n', b'This is 3rd line\r\n', b'This is 4th line\r\n', b'This is 5th line']
Read Line: []

Example

Even if the size argument is greater than the length of the contents in the current file, this method still returns all the lines in the file.

# Open a file
fo = open("foo.txt", "r")
print("Name of the file: ", fo.name)

line = fo.readlines(120)
print("Read Line:", line)

# Close opened file
fo.close()

Let us compile and run the given program, the output is displayed as follows −

Name of the file:  foo.txt
Read Line: ['This is 1st line\n', 'This is 2nd line\n', 'This is 3rd line\n', 'This is 4th line\n', 'This is 5th line']
python_file_methods.htm
Advertisements