×

Working with files in Python

Python is an object-oriented high-level programming language. Python has dynamic semantics and has high-level built-in data structures which support dynamic typing and dynamic binding. Python provides rapid development.

It has an English-like syntax that is very easy to write and understand, reducing the maintenance cost. Python is an interpreted language which means that it uses an interpreter instead of the compiler to run the code.

The interpreted language is processed at the run time thus takes less time to run. Python also has third parties modules and libraries which encourage development and modifying the code.

Sometimes instead of working with data directly from the console or taking input from the console, we need to deal with a very large amount of data.

Sometimes we have to store the data into the disk since the output we create is volatile, so it gets destroyed when we close the program, and it is almost impossible to recover the data then. In these scenarios, File Handling comes handy.

With the use of File Handling, we can store the data permanently by saving it into files. We can implement File Handling in Python without importing any module separately. Python provides the ability to read, write and perform multiple operations on files.

Python provides an in-built function to read and write files, so it is simple to handle files in Python. We can handle two types of files in Python, which are:

  • Text Files: These are the default text files. In these files, every line of the text is terminated with a special character called End of Line (EOL). It is '\n' by default in normal text files.
  • Binary Files: These files do not have any End of Line characters, and the data is stored in binary language, which the machine understands.

Open File in Python

To open a file in Python, we can use an in-built function open(). We can open a file in different modes such as reading, writing, append and read and write etc. The open () function accepts two arguments which are the file name and the mode in which we want to open the file. Passing a file to the open function returns a file object. The syntax for the open() function is:

open(filepath, mode)

We can open a file in 5 modes in Python:

  • Read-only (r):  This is the default mode while opening the file. This permission is used to open files for reading. If the file does not exist, then it raises an error.
  • Read and Write (r+): This mode opens the file for reading and writing. Raises an error if the file does not exist.
  • Write only (w+): Write mode opens the file for writing only. It creates a new file if the file does not exist. If we open an existing file, then the data we write gets over-written to it.
  • Append only (a): This mode opens the file for appending to the text. Creates the file if it does not exists. The cursor is placed at the end of the file and the data written is appended to the file.
  • Append and Read (a+): This mode opens the file for reading and appending. It creates the file if not already exists.

Let us see the example of working of open function:

Suppose we have a file with the following content:

Working with files in Python

Use the below code to open the file:

file = open('sample3.txt', 'r') #opening a file with the read mode
for line in file:
print (line) #printing each line in the file

Output

The output will be the content of the file:

Quod equidem non reprehendo;


Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quibus natura iure responderit non esse verum aliunde finem beate vivendi


a se principia rei gerendae peti; Quae enim adhuc protulisti, popularia sunt, ego autem a te elegantiora desidero. 


Duo Reges: constructio interrete. Tum Lucius: Mihi vero ista valde probata sunt, quod item fratri puto. Bestiarum vero nullum iudicium puto. 
Working with files in Python

If the file is lengthy and we want to read just some lines from that file, then we can use the file. Read () method and pass the number of how many characters we want to print.

file = open('sample3.txt', 'r') #opening a file with the read mode
print (file.read(100)

Output

The output will be the first 100 characters from the file.

Quod equidem non reprehendo;
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quibus natura 
Working with files in Python

Writing in a File

After opening a file with the open() function, we get a file object returned by the open function. To write the text on the file, we can use the two functions available in this file object which are written () and write lines().

With the write() function, we can write a string to a file, and with the writelines() function, we can write multiple strings by using the list of strings in a file.

We can also pass iterable objects like tuples or a set of strings and not just a list to the writelines() function.

After writing a line in a file, we will need to add a new line character manually.

To add the new line character in a text file we can use the code below:

f.write('\n')
f.writelines('\n') 

Writing Text files examples.

Writing using write() function

Below is the example of how we can use the write() function to write a string in a file in Python.

strings = ['Example 1', 'How to write strings in text file in Python']
with open('Example1.txt', 'w') as file:
    for line in strings:
        file.write(line)
        file.write('\n')

Output

After running the above code, a new file called Example1.txt will be created with the following content:

Example1
How to write strings in the text file in Python
Working with files in Python

Note- If the Example1.txt already exists, this code will overwrite the strings to the original file.

Writing using write lines() function

write lines() function is used to write multiple lines in a text file using Python. Below is the code of using the writelines() function:

strings = ['Example2', 'How to write multiple text lines in file in Python']
with open('readme.txt', 'w') as file:
    file.writelines(strings)

Output

The output of the above code will be:

Example2How to write multiple text lines in a file in Python

Working with files in Python

If we want to add every string in the list in a new line, we have to add the new line character in the code manually.

strings = ['Example 3', 'How to write multiple text lines in file in Python']
with open('readme.txt', 'w') as file:
    file.writelines('\n'.join(strings))

Output

The output will be a text file with every string in a new line.

Example 3
How to write multiple text lines in a file in Python
Working with files in Python

As you can see, the write mode has overwritten the previous text in the file.

Appending Text File

Let us append some more lines to the file we created in Example 3. To append the strings in a file, we need to open the file with append permission. Let us see the code for appending strings:

multiple_lines = ['', 'Example 4', 'Append new lines']
with open('readme.txt', 'a') as file:
    file.writelines('\n'.join(multiple_lines))

Output

After running the file, the list multiple_lines will get appended to the file readme.txt

Example 3
How to write multiple text lines in a file in Python
Example 4
Append new lines

Related Topics

Python Functionalities of Pillow Module

This instructional exercise is about "Pillow" library, one of the significant libraries of python for picture control. Pillow library of python, is an easy to use and also open source...

14 minutes read.

Python any() Function

Python any() Function The any() function in Python returns a boolean value ‘True’ if any element of the iterable is true or if the iterable is empty, else it returns False. Syntax any(iterable) Parameter Iterable: An iterable object (list, tuple, dictionary) Return This...

1 minute read.

Python coding platform

Python is a popular general-purpose programming language with many applications. High-level data structures, datatypes, dynamic binding, and many other features make it useful for both designing complex applications and "glue...

6 minutes read.

Python setattr() function

Python setattr() function The setattr() function sets the value of the specified attribute of the specified object. Syntax setattr(object, name, value) Parameter object: This parameter represents any object. name: This parameter represents the name of the attribute you...

1 minute read.

Python Dictionary values() method

Python Dictionary values() method The dictionary.values() method in Python returns a view object that displays a list of all the values in the specified dictionary. Syntax dictionary.values() Parameter NA Return This method returns a view object. The...

1 minute read.

Python List copy() method

Python List copy () method The list.copy () method returns a shallow copy of the list. Syntax list.copy() Parameter NA Return This function returns the copy for the given list. Example 1 # Python program explaining # the list.copy() method # passing the...

1 minute read.

How to Practice Python Programming

Learning python kkis a step towards coding. Python gets one closer to programming languages. It is essential to practice every programming language to become a professional in coding. It is...

4 minutes read.

How to assign values to variables in Python and other languages?

Python makes it simple to construct variables. The value to be stored in the variable should then be written after a suitable name for the variable and the equality sign....

3 minutes read.

How to create a login page in python

Users can access an application by providing their username and Password or by authenticating with a social media login on the login screen. Python Tkinter Python provides a variety of choices for...

3 minutes read.

Python BytesIO

Python Programming Language Python programming language is one of the most used programming languages, as it is used widely in the field of software and data analysis, web development, etc. It...

3 minutes read.

Nested List in Python

The list is an inbuilt sequential data type in Python. It is a very useful and frequently used data type. A list can store any number of data items of...

4 minutes read.

Composition in Python

Composition in Python Composition is one of the important concepts of Object-oriented programming (OOPs). Composition basically enables us for creating complex types objects by combining other types of objects in the...

6 minutes read.

_name_ in Python

Introduction: The code at level 0 indentation is to be performed when the command to run a Python program is supplied to the interpreter because Python does not have a main() function...

4 minutes read.

Python Parse Text File

We will learn different ways of read text records in Python. TL;DR The accompanying tells the best way to read all texts from the readme.txt document into a string: with open('readme.txt') as f: lines...

5 minutes read.

Joint Plot in Python

Introduction to Joint plots: The joint plot is the finest approach to evaluate both the specific distribution of each variable and also the connection between the two variables. Three different plots make...

4 minutes read.

How to implement classifiers in Python

What is classification? Classification is a type of supervised machine learning problem with a categorical target (response) variable. Given the known label in the training data, the classifier approximates a mapping...

4 minutes read.

Python Set clear() Method

Python Set clear() Method The set.clear() method removes all the elements from the set. Syntax set.clear() Parameter NA Return None Example 1 # Python program explaining # the set.clear() method # initializing the set fruits = {"watermelon", "banana", "apple"} # printing the set...

2 minutes read.

EDA in Python

The EDA is the exploratory data analysis; the data scientists mainly use the EDA to understand the main features of the data quickly, the variables in python and the relationship...

6 minutes read.

Class and Static Methods in Python

The method is an important concept to learn for every programmer or data analyst. We know that in OOP's concept, each object has its attributes and behaviors defined through methods....

3 minutes read.

What is Ipython shell?

IPython is a command shell for computing in multiple programming languages. IPython was developed for python language by Fernando Perez in 2001 as a well-equipped python interpreter that offers shell...

3 minutes read.