How to open and close a file in Python
Last Updated :
25 Apr, 2025
There might arise a situation where one needs to interact with external files with Python. Python provides inbuilt functions for creating, writing, and reading files. In this article, we will be discussing how to open an external file and close the same using Python.
Opening a file in Python
There are two types of files that can be handled in Python, normal text files and binary files (written in binary language, 0s, and 1s). Opening a file refers to getting the file ready either for reading or for writing. This can be done using the open() function. This function returns a file object and takes two arguments, one that accepts the file name and another that accepts the mode(Access Mode).
Note: The file should exist in the same directory as the Python script, otherwise, the full address of the file should be written.
Syntax: File_object = open(“File_Name”, “Access_Mode”)
Parameters:
- File_Name: It is the name of the file that needs to be opened.
- Access_Mode: Access modes govern the type of operations possible in the opened file. The below table gives the list of all access mode available in python
Operation | Syntax | Description |
---|
Read Only | r | Open text file for reading only. |
Read and Write | r+ | Open the file for reading and writing. |
Write Only | w | Open the file for writing. |
Write and Read | w+ | Open the file for reading and writing. Unlike “r+” is doesn’t raise an I/O error if file doesn’t exist. |
Append Only | a | Open the file for writing and creates new file if it doesn’t exist. All additions are made at the end of the file and no existing data can be modified. |
Append and Read | a+ | Open the file for reading and writing and creates new file if it doesn’t exist. All additions are made at the end of the file and no existing data can be modified. |
Example 1: Open and read a file using Python
In this example, we will be opening a file to read-only. The initial file looks like the below:
Code:
Python3
file = open ( "sample.txt" )
print ( file .read())
|
Here we have opened the file and printed its content.
Output:
Hello Geek!
This is a sample text file for the example.
Example 2: Open and write in a file using Python
In this example, we will be appending new content to the existing file. So the initial file looks like the below:
Code:
Python3
file = open ( "sample.txt" , 'a' )
file .write( " This text has been newly appended on the sample file" )
|
Now if you open the file you will see the below result,
Output:
Example 3: Open and overwrite a file using Python
In this example, we will be overwriting the contents of the sample file with the below code:
Code:
Python3
file = open ( "sample.txt" , 'w' )
file .write( " All content has been overwritten !" )
|
The above code leads to the following result,
Output:
Example 4: Create a file if not exists in Python
The path.touch() method of the pathlib module creates the file at the path specified in the path of the path.touch().
Python3
from pathlib import Path
my_file = Path( 'test1/myfile.txt' )
my_file.touch(exist_ok = True )
f = open (my__file)
|
Output:
Closing a file in Python
As you notice, we have not closed any of the files that we operated on in the above examples. Though Python automatically closes a file if the reference object of the file is allocated to another file, it is a standard practice to close an opened file as a closed file reduces the risk of being unwarrantedly modified or read.
Python has a close() method to close a file. The close() method can be called more than once and if any operation is performed on a closed file it raises a ValueError. The below code shows a simple use of close() method to close an opened file.
Example: Read and close the file using Python
Python3
file = open ( "sample.txt" )
print ( file .read())
file .close()
|
Now if we try to perform any operation on a closed file like shown below it raises a ValueError:
Python3
file = open ( "sample.txt" )
print ( file .read())
file .close()
file .write( " Attempt to write on a closed file !" )
|
Output:
ValueError: I/O operation on closed file.
Similar Reads
How to delete a CSV file in Python?
In this article, we are going to delete a CSV file in Python. CSV (Comma-separated values file) is the most commonly used file format to handle tabular data. The data values are separated by, (comma). The first line gives the names of the columns and after the next line the values of each column. Ap
2 min read
How to delete from a pickle file in Python?
Python pickle module is used for serializing and de-serializing a Python object structure. Any object in Python can be pickled so that it can be saved on disk. What pickle does is that it âserializesâ the object first before writing it to file. Pickling is a way to convert a python object (list, dic
3 min read
How to copy file in Python3?
Prerequisites: Shutil When we require a backup of data, we usually make a copy of that file. Python supports file handling and allows users to handle files i.e., to read and write files, along with many other file handling options, to operate on files. Here we will learn how to copy a file using Pyt
2 min read
How to delete data from file in Python
When data is no longer needed, itâs important to free up space for more relevant information. Python's file handling capabilities allow us to manage files easily, whether it's deleting entire files, clearing contents or removing specific data. For more on file handling, check out: File Handling in P
3 min read
Open a File in Python
Python provides built-in functions for creating, writing, and reading files. Two types of files can be handled in Python, normal text files and binary files (written in binary language, 0s, and 1s). Text files: In this type of file, each line of text is terminated with a special character called EOL
6 min read
Saving Text, JSON, and CSV to a File in Python
Python allows users to handle files (read, write, save and delete files and many more). Because of Python, it is very easy for us to save multiple file formats. Python has in-built functions to save multiple file formats. Opening a text file in Python Opening a file refers to getting the file ready
5 min read
How To Read .Data Files In Python?
Unlocking the secrets of reading .data files in Python involves navigating through diverse structures. In this article, we will unravel the mysteries of reading .data files in Python through four distinct approaches. Understanding the structure of .data files is essential, as their format may vary w
4 min read
How to Open URL in Firefox Browser from Python Application?
In this article, we'll look at how to use a Python application to access a URL in the Firefox browser. To do so, we'll use the webbrowser Python module. We don't have to install it because it comes pre-installed. There are also a variety of browsers pre-defined in this module, and for this article,
2 min read
How to Unpack a PKL File in Python
Unpacking a PKL file in Python is a straightforward process using the pickle module. It allows you to easily save and load complex Python objects, making it a useful tool for many applications, especially in data science and machine learning. However, always be cautious about the security implicatio
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