Python Read Text file
Tags: python, programming, codenewbie, tutorial
Published: 2021-09-26 08:09:19

---
title: Python Read Text file
published: true
date: 2021-09-25 12:30:12 UTC
tags: #python #programming #codenewbie #tutorial
canonical_url: https://itsmycode.com/python-read-text-file/
---

ItsMyCode |

Python provides built-in functions to perform file operations, such as creating, reading, and writing files. There are mainly two types of files that Python can handle, normal text files and binary files. In this tutorial, we will take a look at how to read text files in Python. 

## Steps to Read Text File in Python 

In Python, to read a text file, you need to follow the below steps.

**Step 1:**  The file needs to be opened for reading using the **`open()`** method and pass a file path to the function.

**Step 2:**  The next step is to read the file, and this can be achieved using several built-in methods such as **`read()`**, **`readline()`**, **`readlines()`**.

**Step 3:**  Once the read operation is performed, the text file must be closed using the **`close()`** function.

Now that we have seen the steps to read the file content let’s understand each of these methods before getting into examples. 

### **Python `open()` function **

The **`open()`** function opens the file if possible and returns the corresponding file object.

**Syntax – open(file, mode=’r’, buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)**

The **`open()`** function has a lot of parameters. Let’s take a look at the necessary params for reading the text file. It opens the file in a specified mode and returns a file object.

Parameters 

- **file** – path like object which represents the file path
- **mode (Optional)** – The **`mode `** is an optional parameter. It’s a string that specifies the mode in which you want to open the file.

| Mode | Description |
| --- | --- |
| `'r'` | Open a file for read mode (default if mode is not specified) |
| `'w'` | Open a file for writing. Python will create a new file if does not exist or truncates a file content if file exists |
| `'x'` | Open a file for exclusive creation. |
| `'a'` | Open a file for appending the text. Creates a new file if file does not exist. |
| `'t'` | Open a file in text mode. (default) |
| `'b'` | Open a file in binary mode. |
| `'+'` | Open a file for updating (reading and writing) |

**Example **

```python 
file = open('C:\hello.txt','r')
```

### **Methods for Reading file contents**

There are three ways to read data from a text file.

1. **`read()` :** The **`read()`** function returns the read bytes in the form of string. This method is useful when you have a small file, and you want to read the specified bytes or entire file and store it into a string variable. 
2. **`readline()`** : The **`readline() `**function returns one line from a text file and retuns in the form of string.
3. **`readlines()`**: The **`readlines() `**function reads all the lines from the text file and returns each line as a string element in a list.

### **Python `close()` function**

The file will remain open until you close the file using the **`close()`** function. It is a must and best practice to perform this operation after reading the data from the file as it frees up the memory space acquired by that file. Otherwise, it may cause an unhandled exception. 

## Examples for Reading a Text file in Python 

### Example 1 – Read the entire text file using the `read()` function

In the below example, we are reading the entire text file using the **`read()`** method. The file can be opened in the read mode or in a text mode to read the data, and it can be stored in the string variable.

```python 
# Program to read the entire file using read() function
file = open("python.txt", "r")
content = file.read()
print(content)
file.close()

# Program to read the entire file (absolute path) using read() function
file = open("C:/Projects/Tryouts/python.txt", "r")
content = file.read()
print(content)
file.close()
```

**Output**

```python 
Dear User,

Welcome to Python Tutorial

Have a great learning !!!

Cheers
```

### Example 2 – Read the specific length of characters in a text file using the `read()` function

There are times where you need to read the specific bytes in a file. In that case, you can use the `read()` function by specifying the bytes. The method will output only the specified bytes of characters in a file, as shown below.

```python 
# Program to read the specific length 
# of characters in a file using read() function
file = open("python.txt", "r")
content = file.read(20)
print(content)
file.close()

```

**Output**

```python 
Dear User,

Welcome
```

### Example 3 – Read a single line in a file using the `readline()` function

If you want to read a single line in a file, then you could achieve this using **`readline()`** function. You also use this method to retrieve specific bytes of characters in a line, similar to the **`read()`** method. 

```python 
# Program to read single line in a file using readline() function
file = open("python.txt", "r")
content = file.readline()
print(content)
file.close()
```

**Output**

```python 
Dear User,

```

### Example 4- Read text file line by line using the `readline()` function

If you want to traverse the file line by line and output in any format, then you could use the while loop with the `readline() `method as shown below. This is the most effective way to read the text file line by line in Python. 

```python 
# Program to read all the lines in a file using readline() function
file = open("python.txt", "r")
while True:
	content=file.readline()
	if not content:
		break
	print(content)
file.close()

```

**Output**

```python 
Dear User,

Welcome to Python Tutorial

Have a great learning !!!

Cheers
```

### Example 5 – Read all the lines as a list in a file using the `readlines()` function

The **`readlines()`** method will read all the lines in the file and outputs in a **list of strings** , as shown below. Later you can use the list to traverse and extract the specified content from the list.

```python 
# Program to read all the lines as a list in a file
# using readlines() function

file = open("python.txt", "r")
content=file.readlines()
print(content)
file.close()

```

**Output**

```python 
['Dear User,\n', 'Welcome to Python Tutorial\n', 'Have a great learning !!!\n', 'Cheers']
```

The post [Python Read Text file](https://itsmycode.com/python-read-text-file/) appeared first on [ItsMyCode](https://itsmycode.com).