CONTROL_STRUCTURES(2022) CSD
CONTROL_STRUCTURES(2022) CSD
File handling in Python involves interacting with files on your computer to read data from them or write data
to them. Python provides several built-in functions and methods for creating, opening, reading, writing, and
closing files. This tutorial covers the basics of file handling in Python with examples.
Sr.N
Modes & Description
o.
1 r
Opens a file for reading only. The file pointer is placed at the beginning of the file.
This is the default mode.
2 rb
Opens a file for reading only in binary format. The file pointer is placed at the
beginning of the file. This is the default mode.
3 r+
Opens a file for both reading and writing. The file pointer placed at the beginning of
the file.
4 rb+
Opens a file for both reading and writing in binary format. The file pointer placed at
the beginning of the file.
5 w
Opens a file for writing only. Overwrites the file if the file exists. If the file does not
exist, creates a new file for writing.
6 b
Opens the file in binary mode
7 t
Opens the file in text mode (default)
8 +
open file for updating (reading and writing)
9 wb
Opens a file for writing only in binary format. Overwrites the file if the file exists. If
the file does not exist, creates a new file for writing.
10 w+
Opens a file for both writing and reading. Overwrites the existing file if the file
exists. If the file does not exist, creates a new file for reading and writing.
wb+
11 Opens a file for both writing and reading in binary format. Overwrites the existing
file if the file exists. If the file does not exist, creates a new file for reading and
writing.
a
12 Opens a file for appending. The file pointer is at the end of the file if the file exists.
That is, the file is in the append mode. If the file does not exist, it creates a new file
for writing.
ab
13 Opens a file for appending in binary format. The file pointer is at the end of the file
if the file exists. That is, the file is in the append mode. If the file does not exist, it
creates a new file for writing.
a+
14 Opens a file for both appending and reading. The file pointer is at the end of the file
if the file exists. The file opens in the append mode. If the file does not exist, it
creates a new file for reading and writing.
ab+
15 Opens a file for both appending and reading in binary format. The file pointer is at
the end of the file if the file exists. The file opens in the append mode. If the file
does not exist, it creates a new file for reading and writing.
16 x
open for exclusive creation, failing if the file already exists
Once a file is opened and you have one file object, you can get various information related to that file.
Example 1
Example 2
In here, we are opening a file named "foo.txt" in binary write mode ("wb"), printing its name, whether it's
closed, and its opening mode, and then closing the file −
# Open a file fo = open("foo.txt", "wb") print ("Name of the file:
", fo.name) print ("Closed or not: ", fo.closed) print ("Opening
mode: ", fo.mode) fo.close()
In the following example, we are using the read() method to read the whole file into a single
string −
Hello!!!
Welcome to TutorialsPoint!!!
In here, we are using the readline() method to read one line at a time, making it memory efficient
for reading large files line by line −
Hello!!!
Welcome to TutorialsPoint!!!
Now, we are using the readlines() method to read the entire file and splits it into a list where each
element is a line −
Hello!!!
Welcome to TutorialsPoint!!!
To write data to a file, use the write() or writelines() methods. When opening a file in write mode
('w'), the file's existing content is erased.
In this example, we are using the write() method to write the string passed to it to the file. If the
file is opened in 'w' mode, it will overwrite any existing content. If the file is opened in 'a' mode,
it will append the string to the end of the file −
with open("foo.txt", "w") as file:
file.write("Hello, World!")
In here, we are using the writelines() method to take a list of strings and writes each string to the file. It is
useful for writing multiple lines at once −
Open Compiler
Example
In this example, we open the file for writing, write data to the file, and then close the file using the close()
method −
Open Compiler
Example
In this example, the file is automatically closed at the end of the with block, so there is no need to call close()
method explicitly −
Open Compiler
with open("example.txt", "w") as file:
file.write("This is an example using the with statement.")
print ("File closed successfully!!")
In Python, we use a try-finally block to handle exceptions when closing a file. The "finally" block ensures
that the file is closed regardless of whether an error occurs in the try block −
try:
file = open("example.txt", "w")
file.write("This is an example with exception handling.")
finally:
file.close()
print ("File closed successfully!!")
The open() function in Python is used to open a file. It requires at least one argument, the name of the file,
and can take an optional second argument that specifies the mode in which the file should be opened.
Following are the main modes you can use to open a file for writing −
w (Write mode) − Opens the file for writing. If the file exists, it truncates (empties) the file before writing. If
the file does not exist, it creates a new file.
a (Append Mode) − Data is written at the end of the file. If the file does not exist, it creates a new file.
x (Exclusive Creation Mode) − Opens the file for exclusive creation. If the file already exists, the
operation fails.
b (Binary Mode) − When used with other modes, opens the file in binary mode.
+ (Update Mode) − Opens the file for updating (reading and writing).
Example: Opening a File in Write Mode
This mode is used when you want to write data to a file, starting from scratch each time the file is opened −
This mode is used when you want to add data to the end of the file without altering its existing contents −
The write() method takes a single argument: the string that you want to write to the file. It writes the exact
content of the string to the file without adding any additional characters, such as newlines.
Example
In the following example, we are opening the file "example.txt" in write mode. We then use the write()
method to write a string to the file −
Example
In this example, we are creating a list of strings, lines, with each string ending in a newline character. We
then open a file "example.txt" in write mode and use the writelines() method to write all the strings in the list
to the file in one operation −