0% found this document useful (0 votes)
47 views

File Handling in Python

Uploaded by

pardhapradeep824
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
47 views

File Handling in Python

Uploaded by

pardhapradeep824
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 17

29/10/2024, 14:12 File Handling in Python - GeeksforGeeks

File Handling in Python


Last Updated : 13 Aug, 2024

File handling in Python is a powerful and versatile tool that can be


used to perform a wide range of operations. However, it is important to
carefully consider the advantages and disadvantages of file handling
when writing Python programs, to ensure that the code is secure,
reliable, and performs well.

In this article we will explore Python File Handling, Advantages,


Disadvantages and How open, write and append functions works in
python file.

Python File Handling


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. The concept of file handling has stretched over various
other languages, but the implementation is either complicated or
lengthy, like other concepts of Python, this concept here is also easy and
short.

To understand the core concept of Python File Handling you can go


through the our Python Self Paced Course , which gives you all the
basic and advanced concepts of Python.

Python treats files differently as text or binary and this is important.


Each line of code includes a sequence of characters, and they form a
text file. Each line of a file is terminated with a special character, called
the EOL or End of Line characters like comma {,} or newline character.
It ends the current line and tells the interpreter a new one has begun.
Let’s start with the reading and writing files.

Advantages of File Handling in Python

https://www.geeksforgeeks.org/file-handling-python/ 1/17
29/10/2024, 14:12 File Handling in Python - GeeksforGeeks

Versatility : File handling in Python allows you to perform a wide


range of operations, such as creating, reading, writing, appending,
renaming, and deleting files.
Flexibility : File handling in Python is highly flexible, as it allows you
to work with different file types (e.g. text files, binary files, CSV files ,
etc.), and to perform different operations on files (e.g. read, write,
append, etc.).
User – friendly : Python provides a user-friendly interface for file
handling, making it easy to create, read, and manipulate files.
Cross-platform : Python file-handling functions work across
different platforms (e.g. Windows, Mac, Linux), allowing for seamless
integration and compatibility.

Disadvantages of File Handling in Python

Error-prone: File handling operations in Python can be prone to


errors, especially if the code is not carefully written or if there are
issues with the file system (e.g. file permissions, file locks, etc.).
Security risks : File handling in Python can also pose security risks,
especially if the program accepts user input that can be used to
access or modify sensitive files on the system.
Complexity : File handling in Python can be complex, especially
when working with more advanced file formats or operations. Careful
attention must be paid to the code to ensure that files are handled
properly and securely.
Performance : File handling operations in Python can be slower than
other programming languages, especially when dealing with large
files or performing complex operations.

For this article, we will consider the following ” geeks.txt ” file as an


example.

Hello world
GeeksforGeeks
123 456

Python File Open


https://www.geeksforgeeks.org/file-handling-python/ 2/17
29/10/2024, 14:12 File Handling in Python - GeeksforGeeks

Before performing any operation on the file like reading or writing, first,
we have to open that file. For this, we should use Python’s inbuilt
function open() but at the time of opening, we have to specify the mode,
which represents the purpose of the opening file.

f = open(filename, mode)

Where the following mode is supported:

1. r: open an existing file for a read operation.


2. w: open an existing file for a write operation. If the file already
contains some data, then it will be overridden but if the file is not
present then it creates the file as well.
3. a: open an existing file for append operation. It won’t override
existing data.
4. r+: To read and write data into the file. This mode does not override
the existing data, but you can modify the data starting from the
beginning of the file.
5. w+: To write and read data. It overwrites the previous file if one
exists, it will truncate the file to zero length or create a file if it does
not exist.
6. a+: To append and read data from the file. It won’t override existing
data.

Working in Read mode


There is more than one way to How to read from a file in Python . Let us
see how we can read the content of a file in read mode.

Example 1: The open command will open the Python file in the read
mode and the for loop will print each line present in the file.

Python

# a file named "geek", will be opened with the reading mode.


file = open('geek.txt', 'r')

# This will print every line one by one in the file


Python Course forPython Basics Interview Questions
each in file:
Python Quiz Popular Packages Python Projects
print (each)

https://www.geeksforgeeks.org/file-handling-python/ 3/17
29/10/2024, 14:12 File Handling in Python - GeeksforGeeks

Output:

Hello world
GeeksforGeeks
123 456

Example 2: In this example, we will extract a string that contains all


characters in the Python file then we can use file.read() .

Python

# Python code to illustrate read() mode


file = open("geeks.txt", "r")
print (file.read())

Output:

Hello world
GeeksforGeeks
123 456

Example 3: In this example, we will see how we can read a file using
the with statement in Python.

Python

# Python code to illustrate with()


with open("geeks.txt") as file:
data = file.read()

print(data)

Output:

Hello world
GeeksforGeeks
123 456

https://www.geeksforgeeks.org/file-handling-python/ 4/17
29/10/2024, 14:12 File Handling in Python - GeeksforGeeks

Example 4: Another way to read a file is to call a certain number of


characters like in the following code the interpreter will read the first
five characters of stored data and return it as a string:

Python

# Python code to illustrate read() mode character wise


file = open("geeks.txt", "r")
print (file.read(5))

Output:

Hello

Example 5: We can also split lines while reading files in Python. The
split() function splits the variable when space is encountered. You can
also split using any characters as you wish.

Python

# Python code to illustrate split() function


with open("geeks.txt", "r") as file:
data = file.readlines()
for line in data:
word = line.split()
print (word)

Output:

['Hello', 'world']
['GeeksforGeeks']
['123', '456']

Creating a File using the write() Function


Just like reading a file in Python, there are a number of ways to Writing
to file in Python . Let us see how we can write the content of a file using
the write() function in Python.

Working in Write Mode

https://www.geeksforgeeks.org/file-handling-python/ 5/17
29/10/2024, 14:12 File Handling in Python - GeeksforGeeks

Let’s see how to create a file and how the write mode works.

Example 1: In this example, we will see how the write mode and the
write() function is used to write in a file. The close() command
terminates all the resources in use and frees the system of this
particular program.

Python

# Python code to create a file


file = open('geek.txt','w')
file.write("This is the write command")
file.write("It allows us to write in a particular file")
file.close()

Output:

This is the write commandIt allows us to write in a particular


file

Example 2: We can also use the written statement along with the
with() function.

Python

# Python code to illustrate with() alongwith write()


with open("file.txt", "w") as f:
f.write("Hello World!!!")

Output:

Hello World!!!

Working of Append Mode


Let us see how the append mode works.

Example: For this example, we will use the Python file created in the
previous example.

Python

https://www.geeksforgeeks.org/file-handling-python/ 6/17
29/10/2024, 14:12 File Handling in Python - GeeksforGeeks

# Python code to illustrate append() mode


file = open('geek.txt', 'a')
file.write("This will add this line")
file.close()

Output:

This is the write commandIt allows us to write in a particular


fileThis will add this line

There are also various other commands in Python file handling that are
used to handle various tasks:

rstrip(): This function strips each line of a file off spaces


from the right-hand side.
lstrip(): This function strips each line of a file off spaces
from the left-hand side.

It is designed to provide much cleaner syntax and exception handling


when you are working with code. That explains why it’s good practice to
use them with a statement where applicable. This is helpful because
using this method any files opened will be closed automatically after
one is done, so auto-cleanup.

Implementing all the functions in File Handling


In this example, we will cover all the concepts that we have seen above.
Other than those, we will also see how we can delete a file using the
remove() function from Python os module .

Python

import os

def create_file(filename):
try:
with open(filename, 'w') as f:
f.write('Hello, world!\n')
print("File " + filename + " created successfully.")
except IOError:
print("Error: could not create file " + filename)

def read_file(filename):
https://www.geeksforgeeks.org/file-handling-python/ 7/17
29/10/2024, 14:12 File Handling in Python - GeeksforGeeks
try:
with open(filename, 'r') as f:
contents = f.read()
print(contents)
except IOError:
print("Error: could not read file " + filename)

def append_file(filename, text):


try:
with open(filename, 'a') as f:
f.write(text)
print("Text appended to file " + filename + "
successfully.")
except IOError:
print("Error: could not append to file " + filename)

def rename_file(filename, new_filename):


try:
os.rename(filename, new_filename)
print("File " + filename + " renamed to " + new_filename +
" successfully.")
except IOError:
print("Error: could not rename file " + filename)

def delete_file(filename):
try:
os.remove(filename)
print("File " + filename + " deleted successfully.")
except IOError:
print("Error: could not delete file " + filename)

if __name__ == '__main__':
filename = "example.txt"
new_filename = "new_example.txt"

create_file(filename)
read_file(filename)
append_file(filename, "This is some additional text.\n")
read_file(filename)
rename_file(filename, new_filename)
read_file(new_filename)
delete_file(new_filename)

Output:

File example.txt created successfully.


Hello, world!
Text appended to file example.txt successfully.
Hello, world!
This is some additional text.
File example.txt renamed to new_example.txt successfully.
Hello, world!

https://www.geeksforgeeks.org/file-handling-python/ 8/17
29/10/2024, 14:12 File Handling in Python - GeeksforGeeks

This is some additional text.


File new_example.txt deleted successfully.

File Handling in Python – FAQs

What is Python file handling?

Python file handling refers to the process of working with files on


the filesystem. It involves operations such as reading from files,
writing to files, appending data, and managing file pointers.

What are the types of files in Python?

In Python, files can broadly be categorized into two types based


on their mode of operation:

Text Files : These store data in plain text format. Examples


include .txt files.
Binary Files : These store data in binary format, which is not
human-readable. Examples include images, videos, and
executable files.

What are the 4 file handling functions?

The four primary functions used for file handling in Python are:

open() : Opens a file and returns a file object.


read() : Reads data from a file.
write() : Writes data to a file.
close() : Closes the file, releasing its resources.

Why is file handling useful?

https://www.geeksforgeeks.org/file-handling-python/ 9/17
29/10/2024, 14:12 File Handling in Python - GeeksforGeeks

File handling is essential for tasks such as data storage, retrieval,


and manipulation. It allows Python programs to interact with
external files, enabling data persistence, configuration
management, logging, and more complex operations like data
analysis and processing.

What is tell() in Python file handling?

In Python file handling, tell() is a method of file objects that


returns the current position of the file pointer (cursor) within the
file. It returns an integer representing the byte offset from the
beginning of the file where the next read or write operation will
occur.

Here’s a simple example demonstrating the tell() method:

# Open a file in read mode


file = open('example.txt', 'r')

# Read the first 10 characters


content = file.read(10)
print(content)

# Check the current position of the file pointer


position = file.tell()
print("Current position:", position)

# Close the file


file.close()

In this example:

file.read(10) reads the first 10 characters from the file.


file.tell() returns the current position of the file pointer after
reading.

Looking to dive into the world of programming or sharpen your Python


skills? Our Master Python: Complete Beginner to Advanced Course is
your ultimate guide to becoming proficient in Python. This course covers

https://www.geeksforgeeks.org/file-handling-python/ 10/17
29/10/2024, 14:12 File Handling in Python - GeeksforGeeks

everything you need to build a solid foundation from fundamental


programming concepts to advanced techniques. With hands-on
projects, real-world examples, and expert guidance, you'll gain the
confidence to tackle complex coding challenges. Whether you're
starting from scratch or aiming to enhance your skills, this course is the
perfect fit. Enroll now and master Python, the language of the future!

GeeksforGeeks 415

Previous Article Next Article


Class method vs Static method in Reading and Writing to text files in
Python Python

Similar Reads

https://www.geeksforgeeks.org/file-handling-python/ 11/17
29/10/2024, 14:12 File Handling in Python - GeeksforGeeks

Inventory Management with File handling in Python


Inventory management is a crucial aspect of any business that deals with
physical goods. Python provides various libraries to read and write files,…
5 min read

Handling File Uploads via CGI


In this article, we will explore how we can handle file uploads via CGI
(Common Gateway Interface) script on Windows machines. We will…
6 min read

Python - Get file id of windows file


File ID is a unique file identifier used on windows to identify a unique file
on a Volume. File Id works similar in spirit to a inode number found in *ni…
3 min read

How to save file with file name from user using Python?
Prerequisites: File Handling in PythonReading and Writing to text files in
Python Saving a file with the user's custom name can be achieved using…
5 min read

How to convert PDF file to Excel file using Python?


In this article, we will see how to convert a PDF to Excel or CSV File Using
Python. It can be done with various methods, here are we are going to us…
2 min read

How to convert CSV File to PDF File using Python?


In this article, we will learn how to do Conversion of CSV to PDF file
format. This simple task can be easily done using two Steps : Firstly, We…
3 min read

How to create a duplicate file of an existing file using Python?


In this article, we will discuss how to create a duplicate of the existing file
in Python. Below are the source and destination folders, before creating…
5 min read

https://www.geeksforgeeks.org/file-handling-python/ 12/17
29/10/2024, 14:12 File Handling in Python - GeeksforGeeks

Python - Copy all the content of one file to another file in uppercase
In this article, we are going to write a Python program to copy all the
content of one file to another file in uppercase. In order to solve this…
2 min read

How to convert a PDF file to TIFF file using Python?


This article will discover how to transform a PDF (Portable Document
Format) file on your local drive into a TIFF (Tag Image File Format) file at…
3 min read

Handling missing keys in Python dictionaries


In Python, dictionaries are containers that map one key to its value with
access time complexity to be O(1). But in many applications, the user…
4 min read

SQL using Python | Set 3 (Handling large data)


It is recommended to go through SQL using Python | Set 1 and SQL using
Python and SQLite | Set 2 In the previous articles the records of the…
4 min read

Handling PostgreSQL BLOB data in Python


In this article, we will learn how to Handle PostgreSQL BLOB data in
Python. BLOB is a Binary large object (BLOB) is a data type that can stor…
5 min read

Multiple Exception Handling in Python


Given a piece of code that can throw any of several different exceptions,
and one needs to account for all of the potential exceptions that could b…
3 min read

Python IMDbPY - Error Handling


In this article we will see how we can handle errors related to IMDb
module of Python, error like invalid search or data base error network…
2 min read

https://www.geeksforgeeks.org/file-handling-python/ 13/17
29/10/2024, 14:12 File Handling in Python - GeeksforGeeks

Handling mails with EZGmail module in Python


EZGmail is a Python module that can be used to send and receive emails
through Gmail. It works on top of the official Gmail API. Although EZGm…
4 min read

Handling TypeError Exception in Python


TypeError is one among the several standard Python exceptions.
TypeError is raised whenever an operation is performed on an…
3 min read

Python VLC MediaPlayer – Enabling Mouse Input Handling


In this article we will see how we can enable mouse input handling the
MediaPlayer object in the python vlc module. VLC media player is a free…
2 min read

Handling OSError exception in Python


Let us see how to handle OSError Exceptions in Python. OSError is a built-
in exception in Python and serves as the error class for the os module,…
2 min read

Handling a thread's exception in the caller thread in Python


Multithreading in Python can be achieved by using the threading library.
For invoking a thread, the caller thread creates a thread object and calls…
3 min read

Handling EOFError Exception in Python


EOFError is raised when one of the built-in functions input() or raw_input()
hits an end-of-file condition (EOF) without reading any data. This error is…
1 min read

Article Tags : Python python python-io

Practice Tags : python python

https://www.geeksforgeeks.org/file-handling-python/ 14/17
29/10/2024, 14:12 File Handling in Python - GeeksforGeeks

Corporate & Communications Address:-


A-143, 9th Floor, Sovereign Corporate
Tower, Sector- 136, Noida, Uttar Pradesh
(201305) | Registered Address:- K 061,
Tower K, Gulshan Vivante Apartment,
Sector 137, Noida, Gautam Buddh
Nagar, Uttar Pradesh, 201305

Company Explore
About Us Job-A-Thon Hiring Challenge
Legal Hack-A-Thon
Careers GfG Weekly Contest
In Media Offline Classes (Delhi/NCR)
Contact Us DSA in JAVA/C++
Advertise with us Master System Design
GFG Corporate Solution Master CP
Placement Training Program GeeksforGeeks Videos
Geeks Community

Languages DSA
Python Data Structures
Java Algorithms
C++ DSA for Beginners
PHP Basic DSA Problems
GoLang DSA Roadmap
SQL DSA Interview Questions
R Language Competitive Programming
https://www.geeksforgeeks.org/file-handling-python/ 15/17
29/10/2024, 14:12 File Handling in Python - GeeksforGeeks

Android Tutorial

Data Science & ML Web Technologies


Data Science With Python HTML
Data Science For Beginner CSS
Machine Learning JavaScript
ML Maths TypeScript
Data Visualisation ReactJS
Pandas NextJS
NumPy NodeJs
NLP Bootstrap
Deep Learning Tailwind CSS

Python Tutorial Computer Science


Python Programming Examples GATE CS Notes
Django Tutorial Operating Systems
Python Projects Computer Network
Python Tkinter Database Management System
Web Scraping Software Engineering
OpenCV Tutorial Digital Logic Design
Python Interview Question Engineering Maths

DevOps System Design


Git High Level Design
AWS Low Level Design
Docker UML Diagrams
Kubernetes Interview Guide
Azure Design Patterns
GCP OOAD
DevOps Roadmap System Design Bootcamp
Interview Questions

School Subjects Commerce


Mathematics Accountancy
Physics Business Studies
Chemistry Economics
Biology Management
Social Science HR Management
English Grammar Finance
Income Tax

Databases Preparation Corner


SQL Company-Wise Recruitment Process
MYSQL Resume Templates
PostgreSQL Aptitude Preparation
PL/SQL Puzzles
MongoDB Company-Wise Preparation
Companies
Colleges

https://www.geeksforgeeks.org/file-handling-python/ 16/17
29/10/2024, 14:12 File Handling in Python - GeeksforGeeks

Competitive Exams More Tutorials


JEE Advanced Software Development
UGC NET Software Testing
UPSC Product Management
SSC CGL Project Management
SBI PO Linux
SBI Clerk Excel
IBPS PO All Cheat Sheets
IBPS Clerk Recent Articles

Free Online Tools Write & Earn


Typing Test Write an Article
Image Editor Improve an Article
Code Formatters Pick Topics to Write
Code Converters Share your Experiences
Currency Converter Internships
Random Number Generator
Random Password Generator

@GeeksforGeeks, Sanchhaya Education Private Limited, All rights reserved

https://www.geeksforgeeks.org/file-handling-python/ 17/17

You might also like