0% found this document useful (0 votes)
13 views31 pages

Python File Handling Basics

The document provides an overview of file handling in Python, detailing how to open, read, write, and close files. It explains the differences between text and binary files, the various file modes available, and the importance of using file handles. Additionally, it introduces the 'with' statement for efficient file management, ensuring files are properly closed after operations.

Uploaded by

Anchal Singh
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
13 views31 pages

Python File Handling Basics

The document provides an overview of file handling in Python, detailing how to open, read, write, and close files. It explains the differences between text and binary files, the various file modes available, and the importance of using file handles. Additionally, it introduces the 'with' statement for efficient file management, ensuring files are properly closed after operations.

Uploaded by

Anchal Singh
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

 INTRODUCTION

 DATA FILES
 OPENING AND CLOSING FILES
 READING AND WRITING FILES
 FILE HANDLING is a mechanism by which we
can read data of disk files in python program or
write back data from python program to disk
files.
 So far in our python program the standard input
in coming from keyboard an output is going to
monitor i.e. no where data is stored permanent
and entered data is present as long as program is
running BUT file handling allows us to store data
entered through python program permanently in
disk file and later on we can read back the data
DATA FILES

 It contains data pertaining to a specific


application, for later use. The data files can be
stored in two ways –
 Text File
 Binary File
Text File

 Text file stores information in ASCII OR


UNICODE character. In text file everything will
be stored as a character for example if data is
“computer” then it will take 8 bytes and if the
data is floating value like 11237.9876 it will take
10 bytes.
 In text file each like is terminated by special
character called EOL. In text file some
translation takes place when this EOL character
is read or written. In python EOL is ‘\n’ or ‘\r’ or
combination of both
Binary files

 It stores the information in the same format


as in the memory i.e. data is stored according
to its data type so no translation occurs.
 In binary file there is no delimiter for a new
line
 Binary files are faster and easier for a
program to read and write than text files.
 Data in binary files cannot be directly read, it
can be read only through python program for
the same.
Steps in Data File Handling

1. OPENING FILE
 We should first open the file for read or write by
specifying the name of file and mode.
2. PERFORMING READ/WRITE
 Once the file is opened now we can either read or
write for which file is opened using various functions
available
3. CLOSING FILE
 After performing operation we must close the file
and release the file for other application to use it,
Opening File

 File can be opened for either – read, write,


append.
SYNTAX:
file_object = open(filename)
Or
file_object = open(filename,mode)

** default mode is “read”


Opening File

myfile = open(“[Link]”)
here disk file “[Link]” is loaded in
memory and its reference is linked to “myfile”
object, now python program will access
“[Link]” through “myfile” object.
here “[Link]” is present in the same
folder where .py file is stored otherwise if disk
file to work is in another folder we have to give
full path.
Opening File
myfile = open(“[Link]”,”r”)
here “r” is for read (although it is by default, other
options are “w” for write, “a” for append)

myfile = open(“d:\\mydata\\[Link]”,”r”)
here we are accessing “[Link]” file stored in
separate location i.e. d:\mydata folder.
at the time of giving path of file we must use double
backslash(\\) in place of single backslash because in python
single slash is used for escape character and it may cause
problem like if the folder name is “nitin” and we provide path
as d:\nitin\[Link] then in \nitin “\n” will become escape
character for new line, SO ALWAYS USE DOUBLE
BACKSLASH IN PATH
Opening File
myfile = open(“d:\\mydata\\[Link]”,”r”)
another solution of double backslash is
using “r” before the path making the string as
raw string i.e. no special meaning attached to
any character as:
myfile = open(r“d:\mydata\[Link]”,”r”)
File Handle

myfile = open(r“d:\mydata\[Link]”,”r”)

In the above example “myfile” is the file object


or file handle or file pointer holding the
reference of disk file. In python we will access
and manipulate the disk file through this file
handle only.
File Access Mode
Text Binary File Description Notes
File Mode
Mode
‘r’ ‘rb’ Read only File must exists, otherwise Python raises
I/O errors
‘w’ ‘wb’ Write only If file not exists, file is created
If file exists, python will truncate
existing data and overwrite the file.
‘a’ ‘ab’ Append File is in write mode only, new data will
be added to the end of existing data i.e.
no overwriting. If file not exists it is
created
‘r+’ ‘r+b’ or ‘rb+’ Read and write File must exists otherwise error is raised
Both reading and writing can take place
w+ ‘w+b’ or ‘wb+’ Write and read File is created if not exists, if exists data
will be truncated, both read and write
allowed
‘a+’ ‘a+b’ or ‘ab+’ Write and read Same as above but previous content will
VINOD KUMAR VERMA, PGT(CS), KV OEF KANPUR &
SACHIN BHARDWAJ, PGT(CS) , KV NO.1 TEZPUR be retained and both read and write.
Closing file

 As reference of disk file is stored in file handle


so to close we must call the close() function
through the file handle and release the file.

[Link]()

Note: open function is built-in function used


standalone while close() must be called through file
handle
Reading from File

 To read from file python provide many functions


like :
 [Link]([n]) : reads and return n bytes,
if n is not specified it reads entire file.
 [Link]([n]) : reads a line of input.
If n is specified reads at most n bytes. Read bytes
in the form of string ending with line character or
blank string if no more bytes are left for reading.
 [Link](): reads all lines and
returns them in a list
Example-1: read()
SAMPLE FILE
Example-3: readline()
SAMPLE FILE
Example-3: readline()
SAMPLE FILE
Questions…
Writing onto files
 After read operation, let us take an example
of how to write data in disk files. Python
provides functions:
 write ()
 writelines()
 The above functions are called by the file
handle to write desired content.
Name Syntax Description
write() [Link](str1) Writes string str1 to file referenced
by filehandle
Writelines() [Link](L) Writes all string in List L as lines to
file referenced by filehandle.
Example-1: write() using “w” mode
Example-1: write() using “w” mode

Lets run the


same program
again
Example-1: write() using “w” mode

Now we can observe that while writing data to file using “w” mode the previous
content of existing file will be overwritten and new content will be saved.

If we want to add new data without overwriting the previous content then we
should write using “a” mode i.e. append mode.
Example-2: write() using “a” mode

New content is
added after previous
content
Example-3: using writelines()

nction.
Now content is stored, because of close()
function contents are flushed and pushed in file
Removing whitespaces after reading
from file
 read() and readline() reads data from file and
return it in the form of string and readlines()
returns data in the form of list.
 All these read function also read leading and
trailing whitespaces, new line characters. If you
want to remove these characters you can use
functions
 strip() : removes the given character from both ends.
 lstrip(): removes given character from left end
 rstrip(): removes given character from right end
File Pointer

 Every file maintains a file pointer which tells the


current position in the file where reading and
writing operation will take.
 When we perform any read/write operation two
things happens:
 The operation at the current position of file pointer
 File pointer advances by the specified number of
bytes.
Example
myfile = open(“[Link]”,”r”)

File pointer will be by default at first position i.e. first character

ch = [Link](1)
ch will store first character i.e. first character is consumed, and file pointer will
move to next character
File Modes and Opening position
of file pointer
FILE MODE OPENING POSITION
r, r+, rb, rb+, Beginning of file
w, w+, wb, wb+ Beginning of file (overwrites the file if
file already exists
a, ab, a+, ab+ At the end of file if file exists otherwise
creates a new file
“with” statement

 Python’s “with” statement for file handling is


very handy when you have two related
operations which you would like to execute as a
pair, with a block of code in between:
with open(filename[, mode]) as filehandle:
file_manipulation_statement
 The advantage of “with” is it will automatically
close the file after nested block of code. It
guarantees to close the file how nested block
exits even if any run time error occurs
Example

You might also like