Javascript required
Skip to content Skip to sidebar Skip to footer

Python Read Each Line in a File

Summary: in this tutorial, you acquire various ways to read text files in Python.

TL;DR

The post-obit shows how to read all texts from the readme.txt file into a string:

            

with open('readme.txt') as f: lines = f.readlines()

Code language: JavaScript ( javascript )

Steps for reading a text file in Python

To read a text file in Python, you follow these steps:

  • First, open a text file for reading by using the open() function.
  • Second, read text from the text file using the file read(), readline(), or readlines() method of the file object.
  • Third, close the file using the file close() method.

1) open() part

The open() function has many parameters but you'll be focusing on the get-go two.

            

open(path_to_file, fashion)

The path_to_file parameter specifies the path to the text file.

If the file is in the same folder as the program, you just need to specify the name of the file. Otherwise, yous need to specify the path to the file.

To specify the path to the file, you use the frontwards-slash ('/') even if you're working in Windows.

For case, if the file is readme.txt stored in the sample folder every bit the program, yous need to specify the path to the file as c:/sample/readme.txt

The mode is an optional parameter. It'southward a string that specifies the style in which yous desire to open up the file.

The post-obit table shows available modes for opening a text file:

Mode Description
'r' Open for text file for reading text
'w' Open up a text file for writing text
'a' Open up a text file for appending text

For example, to open up a file whose name is the-zen-of-python.txt stored in the same binder as the program, you use the following lawmaking:

            

f = open('the-zen-of-python.txt','r')

Lawmaking language: JavaScript ( javascript )

The open() role returns a file object which you will apply to read text from a text file.

2) Reading text methods

The file object provides you with three methods for reading text from a text file:

  • read() – read all text from a file into a string. This method is useful if you have a minor file and you want to manipulate the whole text of that file.
  • readline() – read the text file line by line and return all the lines as strings.
  • readlines() – read all the lines of the text file and return them as a list of strings.

three) shut() method

The file that y'all open will remain open until you shut it using the close() method.

It'southward important to close the file that is no longer in utilize. If you don't close the file, the program may crash or the file would exist corrupted.

The following shows how to telephone call the close() method to shut the file:

            

f .close()

Lawmaking language: CSS ( css )

To close the file automatically without calling the close() method, you use the with statement like this:

            

with open up(path_to_file) every bit f: contents = f.readlines()

Code language: JavaScript ( javascript )

In practice, you'll use the with argument to close the file automatically.

Reading a text file examples

Nosotros'll use the-zen-of-python.txt file for the demonstration.

The post-obit case illustrates how to use the read() method to read all the contents of the the-zen-of-python.txt file into a string:

            

with open('the-zen-of-python.txt') as f: contents = f.read() print(contents)

Lawmaking language: JavaScript ( javascript )

Output:

            

Cute is improve than ugly. Explicit is ameliorate than implicit. Simple is better than complex. ...

The following instance uses the readlines() method to read the text file and returns the file contents every bit a list of strings:

            

lines = [] with open('the-zen-of-python.txt') every bit f: lines = f.readlines() count = 0 for line in lines: count += 1 impress(f'line {count}: {line}')

Lawmaking language: JavaScript ( javascript )

Output:

            

line 1: Beautiful is better than ugly. line 2: Explicit is amend than implicit. line iii: Simple is ameliorate than complex. ...

The following example shows how to use the readline() to read the text file line by line:

            

with open('the-zen-of-python.txt') as f: line = f.readline() while line: line = f.readline() impress(line)

Code language: JavaScript ( javascript )

Output:

            

Explicit is better than implicit. Simple is ameliorate than circuitous. Complex is better than complicated. ...

A more than concise style to read a text file line by line

The open() function returns a file object which is an iterable object. Therefore, you can use a for loop to iterate over the lines of a text file as follows:

            

with open('the-zen-of-python.txt') equally f: for line in f: print(line)

Code linguistic communication: JavaScript ( javascript )

This is more concise way to read a text file line by line.

Read UTF-8 text files

The code in the previous examples works fine with ASCII text files. However, if you lot're dealing with other languages such equally Japanese, Chinese, and Korean, the text file is non a elementary ASCII text file. And it's likely a UTF-eight file that uses more than just the standard ASCII text characters.

To open up a UTF-viii text file, y'all need to pass the encoding='utf-8' to the open up() function to instruct it to look UTF-8 characters from the file.

For the demonstration, you lot'll employ the following quotes.txt file that contains some quotes in Japanese.

The following shows how to loop through the quotes.txt file:

            

with open('quotes.txt', encoding='utf8') equally f: for line in f: impress(line.strip())

Code linguistic communication: JavaScript ( javascript )

Output:

Python read utf-8 text file

Summary

  • Use the open up() function with the 'r' mode to open a text file for reading.
  • Utilise the read(), readline(), or readlines() method to read a text file.
  • E'er close a file subsequently completing reading it using the close() method or the with statement.
  • Use the encoding='utf-eight' to read the UTF-8 text file.

vaudehicte1984.blogspot.com

Source: https://www.pythontutorial.net/python-basics/python-read-text-file/