How to open and close a file in Python
Last Updated :
28 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
# open the file using open() function
file = open("sample.txt")
# Reading from file
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
# open the file using open() function
file = open("sample.txt", 'a')
# Add content in the file
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
# open the file using open() function
file = open("sample.txt", 'w')
# Overwrite the file
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
# open the file using open() function
file = open("sample.txt")
# Reading from file
print(file.read())
# closing the file
file.close()
Now if we try to perform any operation on a closed file like shown below it raises a ValueError:
Python3
# open the file using open() function
file = open("sample.txt")
# Reading from file
print(file.read())
# closing the file
file.close()
# Attempt to write in the file
file.write(" Attempt to write on a closed file !")
Output:
ValueError: I/O operation on closed file.
Similar Reads
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
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
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 Pyt
3 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 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
How to open two files together in Python? Prerequisites: Reading and Writing text files in Python Python provides the ability to open as well as work with multiple files at the same time. Different files can be opened in different modes, to simulate simultaneous writing or reading from these files. An arbitrary number of files can be opened
2 min read
Python - Append content of one text file to another Having two file names entered by users, the task is to append the content of the second file to the content of the first file with Python. Append the content of one text file to anotherUsing file objectUsing shutil moduleUsing fileinput moduleSuppose the text files file1.txt and file2.txt contain th
3 min read
Python append to a file While reading or writing to a file, access mode governs the type of operations possible in the opened file. It refers to how the file will be used once it's opened. These modes also define the location of the File Handle in the file. The definition of these access modes is as follows: Append Only (â
4 min read
How to search and replace text in a file in Python ? In this article, we will learn how we can replace text in a file using python. Method 1: Searching and replacing text without using any external module Let see how we can search and replace text in a text file. First, we create a text file in which we want to search and replace text. Let this file b
5 min read
How to Read from a File in Python Reading from a file in Python means accessing and retrieving the contents of a file, whether it be text, binary data or a specific data format like CSV or JSON. Python provides built-in functions and methods for reading a file in python efficiently.Example File: geeks.txtHello World Hello GeeksforGe
5 min read