Grade 12 Exam  >  Grade 12 Notes  >  Computer Science for Grade 12  >  NCERT Textbook

NCERT Textbook | Computer Science for Grade 12 PDF Download

Download, print and study this document offline
Please wait while the PDF view is loading
 Page 1


In this Chapter
 » Introduction to Files
 » Types of Files
 » Opening and Closing a 
Text File
 » Writing to a Text File
 » Reading from a Text File
 » Setting Offsets in a File
 » Creating and Traversing a 
Text File
 » The Pickle Module
Chapter
2.1 INTRODUCTION TO FILES
We have so far created programs in Python that 
accept the input, manipulate it and display the 
output. But that output is available only during 
execution of the program and input is to be 
entered through the keyboard. This is because the 
variables used in a program have a lifetime that 
lasts till the time the program is under execution. 
What if we want to store the data that were input 
as well as the generated output permanently so 
that we can reuse it later? Usually, organisations 
would want to permanently store information 
about employees, inventory, sales, etc. to avoid 
repetitive tasks of entering the same data. Hence, 
data are stored permanently on secondary storage 
devices for reusability. We store Python programs 
written in script mode with a .py extension. Each 
program is stored on the secondary device as a 
file. Likewise, the data entered, and the output 
can be stored permanently into a file.
2 
File Handling in 
Python
There are many ways of trying to understand 
programs. People often rely too much on one way, which 
is called "debugging" and consists of running a partly-
understood program to see if it does what you expected. 
Another way, which ML advocates, is to install some means of 
understanding in the very programs themselves.
— Robin Milner
Chapter 2.indd   19 18-Jun-21   2:29:01 PM
Page 2


In this Chapter
 » Introduction to Files
 » Types of Files
 » Opening and Closing a 
Text File
 » Writing to a Text File
 » Reading from a Text File
 » Setting Offsets in a File
 » Creating and Traversing a 
Text File
 » The Pickle Module
Chapter
2.1 INTRODUCTION TO FILES
We have so far created programs in Python that 
accept the input, manipulate it and display the 
output. But that output is available only during 
execution of the program and input is to be 
entered through the keyboard. This is because the 
variables used in a program have a lifetime that 
lasts till the time the program is under execution. 
What if we want to store the data that were input 
as well as the generated output permanently so 
that we can reuse it later? Usually, organisations 
would want to permanently store information 
about employees, inventory, sales, etc. to avoid 
repetitive tasks of entering the same data. Hence, 
data are stored permanently on secondary storage 
devices for reusability. We store Python programs 
written in script mode with a .py extension. Each 
program is stored on the secondary device as a 
file. Likewise, the data entered, and the output 
can be stored permanently into a file.
2 
File Handling in 
Python
There are many ways of trying to understand 
programs. People often rely too much on one way, which 
is called "debugging" and consists of running a partly-
understood program to see if it does what you expected. 
Another way, which ML advocates, is to install some means of 
understanding in the very programs themselves.
— Robin Milner
Chapter 2.indd   19 18-Jun-21   2:29:01 PM
FILE HANDLING IN PYTHON
So, what is a file? A file is a named location on a 
secondary storage media where data are permanently 
stored for later access.
2.2. TYPES OF FILES
Computers store every file as a collection of 0s and 1s 
i.e., in binary form. Therefore, every file is basically just 
a series of bytes stored one after the other. There are 
mainly two types of data files — text file and binary 
file. A text file consists of human readable characters, 
which can be opened by any text editor. On the other 
hand, binary files are made up of non-human readable 
characters and symbols, which require specific programs 
to access its contents.
2.2.1 Text file
A text file can be understood as a sequence of characters 
consisting of alphabets, numbers and other special 
symbols. Files with extensions like .txt, .py, .csv, etc. 
are some examples of text files. When we open a text file 
using a text editor (e.g., Notepad), we see several lines 
of text. However, the file contents are not stored in such 
a way internally. Rather, they are stored in sequence 
of bytes consisting of 0s and 1s. In ASCII, UNICODE or 
any other encoding scheme, the value of each character 
of the text file is stored as bytes. So, while opening a 
text file, the text editor translates each ASCII value 
and shows us the equivalent character that is readable 
by the human being. For example, the ASCII value 65 
(binary equivalent 1000001) will be displayed by a text 
editor as the letter ‘A’ since the number 65 in ASCII 
character set represents ‘A’.
Each line of a text file is terminated by a special 
character, called the End of Line (EOL). For example, 
the default EOL character in Python is the newline 
(\n). However, other characters can be used to indicate 
EOL. When a text editor or a program interpreter 
encounters the ASCII equivalent of the EOL character, 
it displays the remaining file contents starting from a 
new line. Contents in a text file are usually separated 
by whitespace, but comma (,) and tab (\t) are also 
commonly used to separate values in a text file.
Activity 2.1
Create a text file using 
notepad and write 
your name and save it. 
Now, create a .docx file 
using Microsoft Word 
and write your name 
and save it as well. 
Check and compare 
the file size of both the 
files. You will find that 
the size of .txt file is 
in bytes whereas 
that of .docx is in 
KBs.
Text files contain 
only the ASCII 
equivalent of the 
contents of the 
file whereas a 
.docx file contains 
many additional 
information like 
the author's name, 
page settings, font 
type and size, date 
of creation and 
modification, etc.
Chapter 2.indd   20 18-Jun-21   2:29:02 PM
Page 3


In this Chapter
 » Introduction to Files
 » Types of Files
 » Opening and Closing a 
Text File
 » Writing to a Text File
 » Reading from a Text File
 » Setting Offsets in a File
 » Creating and Traversing a 
Text File
 » The Pickle Module
Chapter
2.1 INTRODUCTION TO FILES
We have so far created programs in Python that 
accept the input, manipulate it and display the 
output. But that output is available only during 
execution of the program and input is to be 
entered through the keyboard. This is because the 
variables used in a program have a lifetime that 
lasts till the time the program is under execution. 
What if we want to store the data that were input 
as well as the generated output permanently so 
that we can reuse it later? Usually, organisations 
would want to permanently store information 
about employees, inventory, sales, etc. to avoid 
repetitive tasks of entering the same data. Hence, 
data are stored permanently on secondary storage 
devices for reusability. We store Python programs 
written in script mode with a .py extension. Each 
program is stored on the secondary device as a 
file. Likewise, the data entered, and the output 
can be stored permanently into a file.
2 
File Handling in 
Python
There are many ways of trying to understand 
programs. People often rely too much on one way, which 
is called "debugging" and consists of running a partly-
understood program to see if it does what you expected. 
Another way, which ML advocates, is to install some means of 
understanding in the very programs themselves.
— Robin Milner
Chapter 2.indd   19 18-Jun-21   2:29:01 PM
FILE HANDLING IN PYTHON
So, what is a file? A file is a named location on a 
secondary storage media where data are permanently 
stored for later access.
2.2. TYPES OF FILES
Computers store every file as a collection of 0s and 1s 
i.e., in binary form. Therefore, every file is basically just 
a series of bytes stored one after the other. There are 
mainly two types of data files — text file and binary 
file. A text file consists of human readable characters, 
which can be opened by any text editor. On the other 
hand, binary files are made up of non-human readable 
characters and symbols, which require specific programs 
to access its contents.
2.2.1 Text file
A text file can be understood as a sequence of characters 
consisting of alphabets, numbers and other special 
symbols. Files with extensions like .txt, .py, .csv, etc. 
are some examples of text files. When we open a text file 
using a text editor (e.g., Notepad), we see several lines 
of text. However, the file contents are not stored in such 
a way internally. Rather, they are stored in sequence 
of bytes consisting of 0s and 1s. In ASCII, UNICODE or 
any other encoding scheme, the value of each character 
of the text file is stored as bytes. So, while opening a 
text file, the text editor translates each ASCII value 
and shows us the equivalent character that is readable 
by the human being. For example, the ASCII value 65 
(binary equivalent 1000001) will be displayed by a text 
editor as the letter ‘A’ since the number 65 in ASCII 
character set represents ‘A’.
Each line of a text file is terminated by a special 
character, called the End of Line (EOL). For example, 
the default EOL character in Python is the newline 
(\n). However, other characters can be used to indicate 
EOL. When a text editor or a program interpreter 
encounters the ASCII equivalent of the EOL character, 
it displays the remaining file contents starting from a 
new line. Contents in a text file are usually separated 
by whitespace, but comma (,) and tab (\t) are also 
commonly used to separate values in a text file.
Activity 2.1
Create a text file using 
notepad and write 
your name and save it. 
Now, create a .docx file 
using Microsoft Word 
and write your name 
and save it as well. 
Check and compare 
the file size of both the 
files. You will find that 
the size of .txt file is 
in bytes whereas 
that of .docx is in 
KBs.
Text files contain 
only the ASCII 
equivalent of the 
contents of the 
file whereas a 
.docx file contains 
many additional 
information like 
the author's name, 
page settings, font 
type and size, date 
of creation and 
modification, etc.
Chapter 2.indd   20 18-Jun-21   2:29:02 PM
COMPUTER SCIENCE - CLASS XII 
The file_object 
establishes a 
link between the 
program and the 
data file stored 
in the permanent 
storage.
2.2.2 Binary Files
Binary files are also stored in terms of bytes (0s and 1s), 
but unlike text files, these bytes do not represent the 
ASCII values of characters. Rather, they represent the 
actual content such as image, audio, video, compressed 
versions of other files, executable files, etc. These files 
are not human readable. Thus, trying to open a binary 
file using a text editor will show some garbage values. 
We need specific software to read or write the contents 
of a binary file. 
Binary files are stored in a computer in a sequence 
of bytes. Even a single bit change can corrupt the file 
and make it unreadable to the supporting application. 
Also, it is difficult to remove any error which may occur 
in the binary file as the stored contents are not human 
readable. We can read and write both text and binary 
files through Python programs.
2.3 OPENING AND CLOSING A TEXT FILE
In real world applications, computer programs deal 
with data coming from different sources like databases, 
CSV files, HTML, XML, JSON, etc. We broadly access 
files either to write or read data from it. But operations 
on files include creating and opening a file, writing data 
in a file, traversing a file, reading data from a file and 
so on. Python has the io module that contains different 
functions for handling files. 
2.3.1 Opening a file
To open a file in Python, we use the open() function. The 
syntax of open() is as follows:
 file_object= open(file_name, access_mode)
This function returns a file object called file handle 
which is stored in the variable file_object . We can 
use this variable to transfer data to and from the file 
(read and write) by calling the functions defined in the 
Python’s io module. If the file does not exist, the above 
statement creates a new empty file and assigns it the 
name we specify in the statement.
The file_object has certain attributes that tells us 
basic information about the file, such as:
• <file.closed> returns true if the file is closed and 
false otherwise.
Chapter 2.indd   21 18-Jun-21   2:29:02 PM
Page 4


In this Chapter
 » Introduction to Files
 » Types of Files
 » Opening and Closing a 
Text File
 » Writing to a Text File
 » Reading from a Text File
 » Setting Offsets in a File
 » Creating and Traversing a 
Text File
 » The Pickle Module
Chapter
2.1 INTRODUCTION TO FILES
We have so far created programs in Python that 
accept the input, manipulate it and display the 
output. But that output is available only during 
execution of the program and input is to be 
entered through the keyboard. This is because the 
variables used in a program have a lifetime that 
lasts till the time the program is under execution. 
What if we want to store the data that were input 
as well as the generated output permanently so 
that we can reuse it later? Usually, organisations 
would want to permanently store information 
about employees, inventory, sales, etc. to avoid 
repetitive tasks of entering the same data. Hence, 
data are stored permanently on secondary storage 
devices for reusability. We store Python programs 
written in script mode with a .py extension. Each 
program is stored on the secondary device as a 
file. Likewise, the data entered, and the output 
can be stored permanently into a file.
2 
File Handling in 
Python
There are many ways of trying to understand 
programs. People often rely too much on one way, which 
is called "debugging" and consists of running a partly-
understood program to see if it does what you expected. 
Another way, which ML advocates, is to install some means of 
understanding in the very programs themselves.
— Robin Milner
Chapter 2.indd   19 18-Jun-21   2:29:01 PM
FILE HANDLING IN PYTHON
So, what is a file? A file is a named location on a 
secondary storage media where data are permanently 
stored for later access.
2.2. TYPES OF FILES
Computers store every file as a collection of 0s and 1s 
i.e., in binary form. Therefore, every file is basically just 
a series of bytes stored one after the other. There are 
mainly two types of data files — text file and binary 
file. A text file consists of human readable characters, 
which can be opened by any text editor. On the other 
hand, binary files are made up of non-human readable 
characters and symbols, which require specific programs 
to access its contents.
2.2.1 Text file
A text file can be understood as a sequence of characters 
consisting of alphabets, numbers and other special 
symbols. Files with extensions like .txt, .py, .csv, etc. 
are some examples of text files. When we open a text file 
using a text editor (e.g., Notepad), we see several lines 
of text. However, the file contents are not stored in such 
a way internally. Rather, they are stored in sequence 
of bytes consisting of 0s and 1s. In ASCII, UNICODE or 
any other encoding scheme, the value of each character 
of the text file is stored as bytes. So, while opening a 
text file, the text editor translates each ASCII value 
and shows us the equivalent character that is readable 
by the human being. For example, the ASCII value 65 
(binary equivalent 1000001) will be displayed by a text 
editor as the letter ‘A’ since the number 65 in ASCII 
character set represents ‘A’.
Each line of a text file is terminated by a special 
character, called the End of Line (EOL). For example, 
the default EOL character in Python is the newline 
(\n). However, other characters can be used to indicate 
EOL. When a text editor or a program interpreter 
encounters the ASCII equivalent of the EOL character, 
it displays the remaining file contents starting from a 
new line. Contents in a text file are usually separated 
by whitespace, but comma (,) and tab (\t) are also 
commonly used to separate values in a text file.
Activity 2.1
Create a text file using 
notepad and write 
your name and save it. 
Now, create a .docx file 
using Microsoft Word 
and write your name 
and save it as well. 
Check and compare 
the file size of both the 
files. You will find that 
the size of .txt file is 
in bytes whereas 
that of .docx is in 
KBs.
Text files contain 
only the ASCII 
equivalent of the 
contents of the 
file whereas a 
.docx file contains 
many additional 
information like 
the author's name, 
page settings, font 
type and size, date 
of creation and 
modification, etc.
Chapter 2.indd   20 18-Jun-21   2:29:02 PM
COMPUTER SCIENCE - CLASS XII 
The file_object 
establishes a 
link between the 
program and the 
data file stored 
in the permanent 
storage.
2.2.2 Binary Files
Binary files are also stored in terms of bytes (0s and 1s), 
but unlike text files, these bytes do not represent the 
ASCII values of characters. Rather, they represent the 
actual content such as image, audio, video, compressed 
versions of other files, executable files, etc. These files 
are not human readable. Thus, trying to open a binary 
file using a text editor will show some garbage values. 
We need specific software to read or write the contents 
of a binary file. 
Binary files are stored in a computer in a sequence 
of bytes. Even a single bit change can corrupt the file 
and make it unreadable to the supporting application. 
Also, it is difficult to remove any error which may occur 
in the binary file as the stored contents are not human 
readable. We can read and write both text and binary 
files through Python programs.
2.3 OPENING AND CLOSING A TEXT FILE
In real world applications, computer programs deal 
with data coming from different sources like databases, 
CSV files, HTML, XML, JSON, etc. We broadly access 
files either to write or read data from it. But operations 
on files include creating and opening a file, writing data 
in a file, traversing a file, reading data from a file and 
so on. Python has the io module that contains different 
functions for handling files. 
2.3.1 Opening a file
To open a file in Python, we use the open() function. The 
syntax of open() is as follows:
 file_object= open(file_name, access_mode)
This function returns a file object called file handle 
which is stored in the variable file_object . We can 
use this variable to transfer data to and from the file 
(read and write) by calling the functions defined in the 
Python’s io module. If the file does not exist, the above 
statement creates a new empty file and assigns it the 
name we specify in the statement.
The file_object has certain attributes that tells us 
basic information about the file, such as:
• <file.closed> returns true if the file is closed and 
false otherwise.
Chapter 2.indd   21 18-Jun-21   2:29:02 PM
FILE HANDLING IN PYTHON
• <file.mode> returns the access mode in which the 
file was opened.
• <file.name> returns the name of the file.
The file_name should be the name of the file that 
has to be opened. If the file is not in the current working 
directory, then we need to specify the complete path of 
the file along with its name.
The access_mode is an optional argument that 
represents the mode in which the file has to be accessed 
by the program. It is also referred to as processing mode. 
Here mode means the operation for which the file has 
to be opened like <r> for reading, <w> for writing, <+> 
for both reading and writing, <a> for appending at the 
end of an existing file. The default is the read mode. In 
addition, we can specify whether the file will be handled 
as binary (<b>) or text mode. By default, files are opened 
in text mode that means strings can be read or written. 
Files containing non-textual data are opened in binary 
mode that means read/write are performed in terms of 
bytes. Table 2.1 lists various file access modes that can 
be used with the open() method. The file offset position 
in the table refers to the position of the file object when 
the file is opened in a particular mode.
Table 2.1 File Open Modes
File Mode Description File Offset position
<r> Opens the file in read-only mode. Beginning of the file
<rb> Opens the file in binary and read-only mode. Beginning of the file
<r+> or <+r> Opens the file in both read and write mode. Beginning of the file
<w> Opens the file in write mode. If the file already exists, all the 
contents will be overwritten. If the file doesn’t exist, then a 
new file will be created.
Beginning of the file
<wb+> or 
<+wb>
Opens the file in read,write and binary mode. If the file 
already exists, the contents will be overwritten. If the file 
doesn’t exist, then a new file will be created.
Beginning of the file
<a> Opens the file in append mode. If the file doesn’t exist, then 
a new file will be created.
End of the file
<a+> or <+a> Opens the file in append and read mode. If the file doesn’t 
exist, then it will create a new file.
End of the file
Activity 2.2
Some of the other 
file access modes are 
<rb+>, <wb>, <w+>, 
<ab>, <ab+>. Find out 
for what purpose each 
of these are used. 
Also, find the file 
offset positions in 
each case.
Consider the following example.
myObject=open(“myfile.txt”, “a+”)
Chapter 2.indd   22 18-Jun-21   2:29:02 PM
Page 5


In this Chapter
 » Introduction to Files
 » Types of Files
 » Opening and Closing a 
Text File
 » Writing to a Text File
 » Reading from a Text File
 » Setting Offsets in a File
 » Creating and Traversing a 
Text File
 » The Pickle Module
Chapter
2.1 INTRODUCTION TO FILES
We have so far created programs in Python that 
accept the input, manipulate it and display the 
output. But that output is available only during 
execution of the program and input is to be 
entered through the keyboard. This is because the 
variables used in a program have a lifetime that 
lasts till the time the program is under execution. 
What if we want to store the data that were input 
as well as the generated output permanently so 
that we can reuse it later? Usually, organisations 
would want to permanently store information 
about employees, inventory, sales, etc. to avoid 
repetitive tasks of entering the same data. Hence, 
data are stored permanently on secondary storage 
devices for reusability. We store Python programs 
written in script mode with a .py extension. Each 
program is stored on the secondary device as a 
file. Likewise, the data entered, and the output 
can be stored permanently into a file.
2 
File Handling in 
Python
There are many ways of trying to understand 
programs. People often rely too much on one way, which 
is called "debugging" and consists of running a partly-
understood program to see if it does what you expected. 
Another way, which ML advocates, is to install some means of 
understanding in the very programs themselves.
— Robin Milner
Chapter 2.indd   19 18-Jun-21   2:29:01 PM
FILE HANDLING IN PYTHON
So, what is a file? A file is a named location on a 
secondary storage media where data are permanently 
stored for later access.
2.2. TYPES OF FILES
Computers store every file as a collection of 0s and 1s 
i.e., in binary form. Therefore, every file is basically just 
a series of bytes stored one after the other. There are 
mainly two types of data files — text file and binary 
file. A text file consists of human readable characters, 
which can be opened by any text editor. On the other 
hand, binary files are made up of non-human readable 
characters and symbols, which require specific programs 
to access its contents.
2.2.1 Text file
A text file can be understood as a sequence of characters 
consisting of alphabets, numbers and other special 
symbols. Files with extensions like .txt, .py, .csv, etc. 
are some examples of text files. When we open a text file 
using a text editor (e.g., Notepad), we see several lines 
of text. However, the file contents are not stored in such 
a way internally. Rather, they are stored in sequence 
of bytes consisting of 0s and 1s. In ASCII, UNICODE or 
any other encoding scheme, the value of each character 
of the text file is stored as bytes. So, while opening a 
text file, the text editor translates each ASCII value 
and shows us the equivalent character that is readable 
by the human being. For example, the ASCII value 65 
(binary equivalent 1000001) will be displayed by a text 
editor as the letter ‘A’ since the number 65 in ASCII 
character set represents ‘A’.
Each line of a text file is terminated by a special 
character, called the End of Line (EOL). For example, 
the default EOL character in Python is the newline 
(\n). However, other characters can be used to indicate 
EOL. When a text editor or a program interpreter 
encounters the ASCII equivalent of the EOL character, 
it displays the remaining file contents starting from a 
new line. Contents in a text file are usually separated 
by whitespace, but comma (,) and tab (\t) are also 
commonly used to separate values in a text file.
Activity 2.1
Create a text file using 
notepad and write 
your name and save it. 
Now, create a .docx file 
using Microsoft Word 
and write your name 
and save it as well. 
Check and compare 
the file size of both the 
files. You will find that 
the size of .txt file is 
in bytes whereas 
that of .docx is in 
KBs.
Text files contain 
only the ASCII 
equivalent of the 
contents of the 
file whereas a 
.docx file contains 
many additional 
information like 
the author's name, 
page settings, font 
type and size, date 
of creation and 
modification, etc.
Chapter 2.indd   20 18-Jun-21   2:29:02 PM
COMPUTER SCIENCE - CLASS XII 
The file_object 
establishes a 
link between the 
program and the 
data file stored 
in the permanent 
storage.
2.2.2 Binary Files
Binary files are also stored in terms of bytes (0s and 1s), 
but unlike text files, these bytes do not represent the 
ASCII values of characters. Rather, they represent the 
actual content such as image, audio, video, compressed 
versions of other files, executable files, etc. These files 
are not human readable. Thus, trying to open a binary 
file using a text editor will show some garbage values. 
We need specific software to read or write the contents 
of a binary file. 
Binary files are stored in a computer in a sequence 
of bytes. Even a single bit change can corrupt the file 
and make it unreadable to the supporting application. 
Also, it is difficult to remove any error which may occur 
in the binary file as the stored contents are not human 
readable. We can read and write both text and binary 
files through Python programs.
2.3 OPENING AND CLOSING A TEXT FILE
In real world applications, computer programs deal 
with data coming from different sources like databases, 
CSV files, HTML, XML, JSON, etc. We broadly access 
files either to write or read data from it. But operations 
on files include creating and opening a file, writing data 
in a file, traversing a file, reading data from a file and 
so on. Python has the io module that contains different 
functions for handling files. 
2.3.1 Opening a file
To open a file in Python, we use the open() function. The 
syntax of open() is as follows:
 file_object= open(file_name, access_mode)
This function returns a file object called file handle 
which is stored in the variable file_object . We can 
use this variable to transfer data to and from the file 
(read and write) by calling the functions defined in the 
Python’s io module. If the file does not exist, the above 
statement creates a new empty file and assigns it the 
name we specify in the statement.
The file_object has certain attributes that tells us 
basic information about the file, such as:
• <file.closed> returns true if the file is closed and 
false otherwise.
Chapter 2.indd   21 18-Jun-21   2:29:02 PM
FILE HANDLING IN PYTHON
• <file.mode> returns the access mode in which the 
file was opened.
• <file.name> returns the name of the file.
The file_name should be the name of the file that 
has to be opened. If the file is not in the current working 
directory, then we need to specify the complete path of 
the file along with its name.
The access_mode is an optional argument that 
represents the mode in which the file has to be accessed 
by the program. It is also referred to as processing mode. 
Here mode means the operation for which the file has 
to be opened like <r> for reading, <w> for writing, <+> 
for both reading and writing, <a> for appending at the 
end of an existing file. The default is the read mode. In 
addition, we can specify whether the file will be handled 
as binary (<b>) or text mode. By default, files are opened 
in text mode that means strings can be read or written. 
Files containing non-textual data are opened in binary 
mode that means read/write are performed in terms of 
bytes. Table 2.1 lists various file access modes that can 
be used with the open() method. The file offset position 
in the table refers to the position of the file object when 
the file is opened in a particular mode.
Table 2.1 File Open Modes
File Mode Description File Offset position
<r> Opens the file in read-only mode. Beginning of the file
<rb> Opens the file in binary and read-only mode. Beginning of the file
<r+> or <+r> Opens the file in both read and write mode. Beginning of the file
<w> Opens the file in write mode. If the file already exists, all the 
contents will be overwritten. If the file doesn’t exist, then a 
new file will be created.
Beginning of the file
<wb+> or 
<+wb>
Opens the file in read,write and binary mode. If the file 
already exists, the contents will be overwritten. If the file 
doesn’t exist, then a new file will be created.
Beginning of the file
<a> Opens the file in append mode. If the file doesn’t exist, then 
a new file will be created.
End of the file
<a+> or <+a> Opens the file in append and read mode. If the file doesn’t 
exist, then it will create a new file.
End of the file
Activity 2.2
Some of the other 
file access modes are 
<rb+>, <wb>, <w+>, 
<ab>, <ab+>. Find out 
for what purpose each 
of these are used. 
Also, find the file 
offset positions in 
each case.
Consider the following example.
myObject=open(“myfile.txt”, “a+”)
Chapter 2.indd   22 18-Jun-21   2:29:02 PM
COMPUTER SCIENCE - CLASS XII 
In the above statement, the file myfile.txt is opened 
in append and read modes. The file object will be at the 
end of the file. That means we can write data at the end 
of the file and at the same time we can also read data 
from the file using the file object named myObject.
2.3.2 Closing a file
Once we are done with the read/write operations on a 
file, it is a good practice to close the file. Python provides 
a close() method to do so. While closing a file, the 
system frees the memory allocated to it. The syntax of 
close() is:
file_object.close()
Here, file_object is the object that was returned while 
opening the file. 
Python makes sure that any unwritten or unsaved 
data is flushed off (written) to the file before it is closed. 
Hence, it is always advised to close the file once our 
work is done. Also, if the file object is re-assigned to 
some other file, the previous file is automatically closed.
2.3.3 Opening a file using with clause
In Python, we can also open a file using with clause. 
The syntax of with clause is:
with open (file_name, access_mode) as file_
object:
The advantage of using with clause is that any file 
that is opened using this clause is closed automatically, 
once the control comes outside the with clause. In 
case the user forgets to close the file explicitly or if an 
exception occurs, the file is closed automatically. Also, 
it provides a simpler syntax.
with open(“myfile.txt”,”r+”) as myObject:
 content = myObject.read()
Here, we don’t have to close the file explicitly  
using close() statement. Python will automatically close 
the file.
2.4 WRITING TO A TEXT FILE
For writing to a file, we first need to open it in write or 
append mode. If we open an existing file in write mode, 
the previous data will be erased, and the file object will 
be positioned at the beginning of the file. On the other 
NOTES
Chapter 2.indd   23 18-Jun-21   2:29:02 PM
Read More
1 videos|25 docs|18 tests

Top Courses for Grade 12

1 videos|25 docs|18 tests
Download as PDF
Explore Courses for Grade 12 exam

Top Courses for Grade 12

Signup for Free!
Signup to see your scores go up within 7 days! Learn & Practice with 1000+ FREE Notes, Videos & Tests.
10M+ students study on EduRev
Related Searches

NCERT Textbook | Computer Science for Grade 12

,

practice quizzes

,

Free

,

Objective type Questions

,

pdf

,

Previous Year Questions with Solutions

,

Extra Questions

,

Summary

,

Sample Paper

,

NCERT Textbook | Computer Science for Grade 12

,

MCQs

,

shortcuts and tricks

,

Viva Questions

,

study material

,

NCERT Textbook | Computer Science for Grade 12

,

Exam

,

Important questions

,

ppt

,

past year papers

,

mock tests for examination

,

Semester Notes

,

video lectures

;