0% found this document useful (0 votes)
293 views25 pages

File Handling in Python PDF

This document discusses file handling in Python. It explains that files are used to permanently store data on disk. To read from or write to a file, it must first be opened and then closed once the operation is complete. Python uses the open() function to open a file, which returns a file object. Different modes like 'r', 'w', and 'a' can be specified when opening to read, write or append to the file. Common file methods like read(), readline(), readlines() are used to read a file, while write() is used to write to a file. The seek() and tell() methods allow changing the file position/cursor. The 'with' statement ensures files are properly closed after use.

Uploaded by

Nilesh
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
Download as pdf or txt
0% found this document useful (0 votes)
293 views25 pages

File Handling in Python PDF

This document discusses file handling in Python. It explains that files are used to permanently store data on disk. To read from or write to a file, it must first be opened and then closed once the operation is complete. Python uses the open() function to open a file, which returns a file object. Different modes like 'r', 'w', and 'a' can be specified when opening to read, write or append to the file. Common file methods like read(), readline(), readlines() are used to read a file, while write() is used to write to a file. The seek() and tell() methods allow changing the file position/cursor. The 'with' statement ensures files are properly closed after use.

Uploaded by

Nilesh
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
Download as pdf or txt
Download as pdf or txt
You are on page 1/ 25

File Handling in Python

Tushar B. Kute,
http://tusharkute.com
What is a file ?

• File is a named location on disk to store related information. It is


used to permanently store data in a non-volatile memory (e.g. hard
disk).
• Since, random access memory (RAM) is volatile which loses its data
when computer is turned off, we use files for future use of the data.
• When we want to read from or write to a file we need to open it
first. When we are done, it needs to be closed, so that resources
that are tied with the file are freed.
• Hence, in Python, a file operation takes place in the following order.
– Open a file
– Read or write (perform operation)
– Close the file
Opening a file

• Python has a built-in function open() to open a file.


This function returns a file object, also called a handle,
as it is used to read or modify the file accordingly.
>>> f = open("test.txt")
• We can specify the mode while opening a file.
• In mode, we specify whether we want to read 'r', write
'w' or append 'a' to the file.
• We also specify if we want to open the file in text
mode or binary mode.
• The default is reading in text mode.
Python file modes
Examples

• f = open("test.txt")
# equivalent to 'r' or 'rt'
• f = open("test.txt",'w')
# write in text mode
• f = open("img.bmp",'r+b')
# read and write in binary mode
• f = open("test.txt",mode =
'r',encoding = 'utf-8')
# Specfied with encoding
Reading functions

• read(n)
– Read atmost n characters form the file. Reads till end
of file if it is negative or None.
• readable()
– Returns True if the file stream can be read from.
• readline(n=-1)
– Read and return one line from the file. Reads in at
most n bytes if specified.
• readlines(n=-1)
– Read and return a list of lines from the file. Reads in at
most n bytes/characters if specified.
read( )
readline( )
readlines( )
Example:

• Read a given file and count total number of ‘the’


in the given file.
Solution
Problem:

• Given with three text files, count the total of all


the numerical elements from these files.
• file1 file2 file3
Problem:

• Given the following file, count average of the


marks find the name of topper student.
data.txt
Closing a file

• When we are done with operations to the file, we


need to properly close the file.
• Closing a file will free up the resources that were tied
with the file and is done using Python close() method.
• Python has a garbage collector to clean up
unreferenced objects but, we must not rely on it to
close the file.
f = open("test.txt")
# perform file operations
f.close()
File using ‘with’ statement

• The with statement ensures that the file is


closed when the block inside with is exited.
• We don't need to explicitly call the close()
method. It is done internally.
with open("test.txt") as f:
print f.read()
Writing the file

• In order to write into a file in Python, we need


to open it in write 'w', append 'a' or exclusive
creation 'x' mode.
• We need to be careful with the 'w' mode as it
will overwrite into the file if it already exists. All
previous data are erased.
• Writing a string or sequence of bytes (for binary
files) is done using write() method. This method
returns the number of characters written to the
file.
Example:

with open("test.txt",'w') as f:
f.write("my first file\n")
f.write("This file\n\n")
f.write("contains three lines\n")
File writing methods

• writable()
– Returns True if the file stream can be written
to.
• write(s)
– Write string s to the file and return the
number of characters written.
• writelines(lines)
– Write a list of lines to the file.
Sample File copy operation
Example:

• Read the given file and copy only the numbers


from it into another file. So, perform the
number filtering operation. Do not change the
lines.
Program:
File positions

• We can change our current file cursor (position) using the seek()
method.
• Similarly, the tell() method returns our current position (in number of
bytes).
>>> f = open('test.txt')
>>> f.readline()
'Hello All,\n'
>>> print f.tell()
11
>>> f.readline()
'This is Tushar Kute,\n'
>>> print f.tell()
32
Seeking

>>> f = open('test.txt')
>>> f.readline()
'Hello All,\n'
>>> f.readline()
'This is Tushar Kute,\n'
>>> f.seek(0)
>>> f.readline()
'Hello All,\n'
>>> f.seek(11)
>>> f.readline()
'This is Tushar Kute,\n'
Problem Statements:

• Copy the contents of a file and write it in


another file by swapping case of every
character.
• Read the data of student like roll number,
name and marks, store in in a file by
appending it.
Thank you
This presentation is created using LibreOffice Impress 5.1.6.2, can be used freely as per GNU General Public License

/mITuSkillologies @mitu_group /company/mitu-


skillologies

Web Resources
http://mitu.co.in
http://tusharkute.com

contact@mitu.co.in
tushar@tusharkute.com

You might also like