Javascript required
Skip to content Skip to sidebar Skip to footer

How to Read From a File in Python

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

TL;DR

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

            

with open up('readme.txt') every bit f: lines = f.readlines()

Code language: JavaScript ( javascript )

Steps for reading a text file in Python

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

  • First, open up a text file for reading by using the open() function.
  • 2nd, 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() function

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

            

open up(path_to_file, mode)

The path_to_file parameter specifies the path to the text file.

If the file is in the same binder as the program, y'all just need to specify the proper name of the file. Otherwise, you lot demand to specify the path to the file.

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

For example, if the file is readme.txt stored in the sample binder every bit the program, you demand to specify the path to the file as c:/sample/readme.txt

The mode is an optional parameter. It'south a string that specifies the mode in which you want to open the file.

The following tabular array shows available modes for opening a text file:

Way Description
'r' Open for text file for reading text
'due west' Open up a text file for writing text
'a' Open up a text file for appending text

For case, to open up a file whose proper noun is the-zen-of-python.txt stored in the aforementioned folder equally the program, y'all use the post-obit code:

            

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

Code language: JavaScript ( javascript )

The open() part returns a file object which y'all will use 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 pocket-sized file and you want to dispense 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 equally a list of strings.

3) close() method

The file that you open up will remain open up until you close information technology using the close() method.

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

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

            

f .close()

Lawmaking linguistic communication: CSS ( css )

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

            

with open(path_to_file) equally f: contents = f.readlines()

Code language: JavaScript ( javascript )

In exercise, y'all'll utilise the with statement to shut the file automatically.

Reading a text file examples

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

The following example illustrates how to utilise 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') equally f: contents = f.read() impress(contents)

Lawmaking language: JavaScript ( javascript )

Output:

            

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

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

            

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

Lawmaking linguistic communication: JavaScript ( javascript )

Output:

            

line one: Beautiful is better than ugly. line ii: Explicit is better than implicit. line 3: Elementary is amend than circuitous. ...

The following instance shows how to use the readline() to read the text file line past 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 meliorate than complex. Complex is amend than complicated. ...

A more concise way to read a text file line past line

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

            

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

Code language: JavaScript ( javascript )

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

Read UTF-eight text files

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

To open a UTF-8 text file, y'all need to laissez passer the encoding='utf-8' to the open() function to instruct it to expect UTF-8 characters from the file.

For the demonstration, you'll use 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') as f: for line in f: impress(line.strip())

Code language: JavaScript ( javascript )

Output:

Python read utf-8 text file

Summary

  • Apply the open() function with the 'r' fashion to open a text file for reading.
  • Use the read(), readline(), or readlines() method to read a text file.
  • Always shut a file afterwards completing reading it using the close() method or the with argument.
  • Employ the encoding='utf-eight' to read the UTF-viii text file.

raiwalatherne.blogspot.com

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