How to open a file using the with statement
Last Updated :
13 Sep, 2022
The with keyword in Python is used as a context manager. As in any programming language, the usage of resources like file operations or database connections is very common. But these resources are limited in supply. Therefore, the main problem lies in making sure to release these resources after usage. If they are not released, then it will lead to resource leakage and may cause the system to either slow down or crash.
As we know, the open() function is generally used for file handling in Python. But it is a standard practice to use context managers like with keywords to handle files as it will automatically release files once its usage is complete.
Python with open() Syntax:
Syntax:
with open(file_path, mode, encoding) as file:
…
file_path: It is the path to the file to open
mode: mode of operation on the file. ex.: read, write etc. (represented by r, w, r+, w+, rb, wb etc.)
encoding: read the file in correct encoding format.
Example 1: Simple Example Using The with Statement
We already have a file name geeksforgeeks.txt in our system, and it has the following data:

geeksforgeeks,txt
Now we will open the file and read the contents of the file using with open() statement:
Python3
with open ( "geeksforgeeks.txt" , "r" ) as gfg_file:
file_content = gfg_file.read()
print (file_content)
|
Output:
GeeksForGeeks is best for DSA
Note: Here we have used mode as “r” to read the data, because the target file has text data. In case we are reading some binary file, we need to use “rb” as the mode.
Example 2: We can also use the with statement to append or write data to the file.
We will append the string “Hello geeks!” to our geeksforgeeks.txt file.
Python3
with open ( "geeksforgeeks.txt" , "a" ) as gfg_file:
gfg_file.write( "\nHello Geeks!" )
with open ( "geeksforgeeks.txt" , "r" ) as gfg_file:
content = gfg_file.read()
print (content)
|
Output:
GeeksForGeeks is best for DSA
Hello Geeks!
Note: Here we have used “a” as the mode of opening the file, this is because we want to append to the file data. Instead, if we wanted to overwrite the file data, we would use the “w” mode.
Example 3: Using nested with open statement to open multiple files

links.txt
We have defined a links.txt file containing some random links. We will open the geeksforgeeks.txt file mentioned above and append the content of the links file into the geeksforgeeks.txt file.
Python3
with open ( "geeksforgeeks.txt" , "a" ) as gfg_file:
gfg_file.write( "\nHello Geeks!" )
with open ( "links.txt" , 'r' ) as links_file:
lines = links_file.readlines()
gfg_file.writelines(lines)
|
geeksforgeeks.txt file contents after modification:

geeksforgeeks,txt
Here, we can see that the contents of the links.txt file has been added to the geeksforgeeks.txt file after running the script.
Difference of using open() vs with open()
Although the function of using open() and with open() is exactly same but, there are some important differences:
- Using open() we can use the file handler as long as the file has not been explicitly closed using file_handler.close(), but in case of using with open() context manager, we cannot use a file handler outside the with block. It will raise ValueError: I/O operation on closed file in that case.
- While using open() we need to explicitly close an opened file instance, else other parts of code may face errors while opening the same file. In with open() the closing of the file is handled by the context manager.
- Using with open() context statement makes the code more tidy as we can easily separate between code block by difference in indents. In case of open(), we might miss closing the file instance, this may cause memory leaks and other I/O operation errors.
Similar Reads
How to open multiple files using "with open" in Python?
Python has various highly useful methods for working with file-like objects, like the with feature. But what if we need to open several files in this manner? You wouldn't exactly be "clean" if you had a number of nested open statements. In this article, we will demonstrate how to open multiple files
2 min read
How to print all files within a directory using Python?
The OS module is one of the most popular Python modules for automating the systems calls and operations of an operating system. With a rich set of methods and an easy-to-use API, the OS module is one of the standard packages and comes pre-installed with Python. In this article, we will learn how to
3 min read
How to Iterate Over File Names in a R Script
Working with files is a common task in data processing and analysis. Whether you're handling large datasets, performing batch processing, or simply automating tasks, the ability to iterate over files in a directory is essential. In R Programming Language this process is straightforward, and in this
4 min read
How to read a local text file using JavaScript?
Reading a local text file involves accessing the contents of a file stored on a user's device. Using JavaScript, this can be achieved with the HTML5 File API and the FileReader object, which reads files selected through an <input> element or drag-and-drop, asynchronously. Getting Started with
4 min read
How to open External Programs using Tkinter?
Prerequisite: Tkinter, os Python offers multiple options for developing a GUI (Graphical User Interface). Out of all the GUI methods, Tkinter is the most commonly used method. It is a standard Python interface to the Tk GUI toolkit shipped with Python. Python with Tkinter is the fastest and easiest
2 min read
with statement in Python
The with statement in Python is used for resource management and exception handling. It simplifies working with resources like files, network connections and database connections by ensuring they are properly acquired and released. When we open a file, we need to close it ourself using close(). But
6 min read
How to Read Text File Backwards Using MATLAB?
Prerequisites: Write Data to Text Files in MATLAB Sometimes for some specific use case, it is required for us to read the file backward. i.e. The file should be read from EOF (End of file Marker) to the beginning of the file in reverse order. In this article we would learn how to read a file in back
3 min read
How to make HTML files open in Chrome using Python?
Prerequisites: Webbrowser HTML files contain Hypertext Markup Language (HTML), which is used to design and format the structure of a webpage. It is stored in a text format and contains tags that define the layout and content of the webpage. HTML files are widely used online and displayed in web brow
2 min read
Shell Script to Perform String Replacement in a File
String replacement is the process of replacing a string with another in a particular block of code, text, or the entire file. There are instances where we need to replace one string with another, but there are a lot of instances of such strings. There are two solutions here; you can manually replace
6 min read
How to Read a File using Applet?
In this article, we will learn how to read the content of the file using Java and display those contents using Applet. Approach UsedThe user should type the name of the file in the input field that asks for the filename in the output applet window. If the file is already present, it will display the
2 min read