×

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

How to get Time in seconds in Python

Python's time module source shows that are based on time. The time() method is used by developers and returns the current time as a UNIX timestamp. A UNIX timestamp is...

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.

Python IDE

What is an IDE?  An IDE or an Integrated Development Environment is a type of software where developers can develop many software’s and applications and run the programs inside it. An...

11 minutes read.

Iterate a Dictionary in Python

In this tutorial, we will learn how to Iterate a Dictionary in Python. Dictionary: In Python, a dictionary is an unordered collection of data values that is used to store data values,...

3 minutes read.

Python Bitwise Operators

When used with variables and objects in an expression, operators are tokens that carry out calculations. The variables and items to which the computation is applied are known as operands....

5 minutes read.

Run exec python from PHP

PHP (which is a recursive abbreviation for PHP Hypertext Preprocessor) is one of the most broadly involved web improvement innovations on the planet. PHP code utilized for creating sites and...

4 minutes read.

SKLearn Linear Module

The SK learn linear module is one such module that helps to study the relationship between the independent and dependent variables.The linear module can be implemented by using the best...

3 minutes read.

Isreal() Python

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...

4 minutes read.

Application to Search Installed Application using Tkinter in Python

Tkinter: The standard Python technique for building Graphical User Interfaces (GUIs) is Tkinter, which is included in all popular Python distributions. The only framework included in the Python standard library is...

4 minutes read.

How to Convert int to str in Python

How to Convert int to str in Python In the last article, we studied how we convert a variable with string datatype to integer datatype and discussed different data types available...

4 minutes read.

Python System Requirements

Introduction As we know, Python is a popular programming language usually used to write scripts for operating systems. It’s handy adequate for utilizing in web development and application design. In this article,...

2 minutes read.

Python String rjust() method

Python String rjust() method The string.rjust() method in Python returns a right-justified string of a given minimum width where the padding is done using the specified fillchar (default is a space). It returns...

2 minutes read.

An Introduction to Subprocess in Python with Examples

Subprocess in Python By starting new processes, the Python function subprocess is utilized to run extra programs and applications. It makes it possible to run brand-new apps straight from a Programming...

6 minutes read.

Handling missing keys in Python dictionaries

In this lesson, you will discover how to create a Python application that will manage missing keys in a dictionary. Python dictionaries store data as key-value pairs, where each value...

3 minutes read.

Python bytearray()

Python bytearray() Class The bytearray() class is used to return a bytearray object which is an array of the specified bytes. It gives a mutable sequence of integers in the range 0...

1 minute read.

Python locals() function

Python locals() function The locals() function in Python updates and returns a dictionary representing the current local symbol table. Syntax locals() Parameter NA Return This function returns the local symbol table as a dictionary or returns free...

1 minute read.

Augmented reality in python

In this article, we shall learn about augmented reality in python. Augmented reality is a technology that captures the world around you and adds virtual content or objects on top of...

3 minutes read.

Python issubclass() Function

Python issubclass() Function The issubclass() function in Python returns a boolean value ‘True’ if the given object is a subclass of classinfo, else it returns False. Syntax issubclass(class, classinfo) Parameter class: It is a required parameter which represents a tuple...

1 minute read.

How To Compare Two Strings In Python

In this article, we will discuss how to compare two strings in Python. So, before that, let’s have a quick revision on “What are strings?” Strings are a sequence of characters that...

5 minutes read.

_dict_ in Python

An unordered collection of data values known as a dictionary can be used in Python to store data values similar to a map. Dictionaries can also store a key: value...

6 minutes read.