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

5 File Handling 1

Uploaded by

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

5 File Handling 1

Uploaded by

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

NAVODAYA VIDYALAYA SAMITI,

NOIDA
E-CONTENT FOR CLASS XII (COMPUTER SCIENCE,
083)
CHAPTER : FILE HANDLING IN PYTHON

Prepared By,
Geethanjali B K
PGT IT
JNV East Godavari
I
LEARNING OBJECTIVES
At the end of this chapter you will be able to learn :

❏ Understanding Files
❏ Types of Files
❏ Understanding Text Files
❏ Opening and closing Text files
❏ Reading and writing in Files
❏ Understanding Binary Files
❏ Pickling and Unpickling
❏ Opening and closing Binary files
❏ Reading and writing in Binary Files
❏ CSV (Comma separated values) files. 2
NEED FOR DATA FILE
HANDLING
● Mostly, in programming languages, all the values or data are stored in
some variables which are volatile in nature.
● Because data will be stored into those variables during run-time only
and will be lost once the program execution is completed. Hence it is
better to save these data permanently using files.

3
INTRODUCTION
● A file in itself is a sequence of bytes stored in some storage device like
hard-disk, pen-drive etc.
● Python allow us to create and manage three types of files :

1. TEXT FILE

2. BINARY FILE

3. CSV (Comma Separated Values) FILES

4
TEXT FILE
● A text file is structured as a sequence of lines.
● Line is a sequence of characters (ASCII or UNICODE)
● Stores information in ASCII or Unicode characters.
● Each line of text is terminated by a special character known as End Of
Line character.
● Text files are stored in human readable form and they can also be
created using any text editor.

5
BINARY FILE
● A file that contains information in the same format in which
information is held in memory.
● Binary file contains arbitrary binary data.
● So when we work on binary file, we have to interpret the raw
bit pattern(s) read from the file into correct type of data in
our program.
● Python provides special module(s) for encoding and
decoding of data for binary file.

6
CSV FILES
● CSV stands for Comma Separated Values.
● CSV is just like a text file, in a human readable format which is
extensively used to store tabular data, in a spreadsheet or
database.
● The separator character of CSV files is called a delimiter.
● Default delimiter is comma (,). Other delimiters are tab (\t), colon
(:), pipe (|), semicolon (;) characters.

7
8
STEPS TO PROCESS A FILE
1. Determine the type of file usage.
a. Reading purpose : If the data is to be brought in from a file to
memory
b. Writing purpose : If the data is to be sent from memory to file.
2. Open the file and assign its reference to a file object or file-handle.
3. Process the file as required : Perform the desired operation from
the file.
4. Close the file.

9
OPENING A TEXT FILE
● The key function for working with files in Python is the open()
function.
● It accepts two parameters : filename, and mode.

Syntax:
<file_object_name> = open(<file_name>,<mode>)

Example: f = open(“demo.txt”,”r”)

● Can specify if the file should be handled as binary or text Mode :


○ "t" - Text - Default value. Text mode
○ "b" - Binary - Binary mode (e.g. images) 10
● File Objects:
○ It serves as a link to file residing in your computer.
○ It is a reference to the file on the disk and it is through this link
python program can perform operations on the files.
● File access modes:
○ It governs the type of operations(such as read or write or
append) possible in the opened file.

11
Mode ●
Description Various Modes for opening a text file are:
“r” Read Default value. Opens a file for reading, error if the
file does not exist.

“w” Write Opens a file for writing, creates the file if it does not
exist

“a” Append Opens a file for appending, creates the file if it does
not exist

“r+” Read and File must exist otherwise error is raised.Both


Write reading and writing operations can take place.

“w+” Write and File is created if it does not exist.If the file exists
Read past data is lost (truncated).Both reading and
writing operations can take place.

“a+” Append and File is created if it does not exist.If the file exists 12
Read past data is not lost .Both reading and
CLOSING A FILE
● close()- method will free up all the system resources used by the file,
this means that once file is closed, we will not be able to use the file
object any more.
● <fileobject>. close() will be used to close the file object, once we
have finished working on it.

Syntax:

<fileObject>.close()

Example : f.close()

● It is important to close your files, as in some cases, due to


buffering,changes made to a file may not show until you close the 13
READING FROM A FILE
➔ A Program reads a text/binary file from hard disk. Here File acts
like an input to the program.
➔ Followings are the methods to read a data from the file:
◆ read() METHOD
◆ readline() METHOD
◆ readlines() METHOD

14
read() METHOD
● By default the read() method returns the whole text, but you can
also specify how many characters you want to return by passing the
size as argument.

Syntax: <file_object>.read([n])

where n is the size

● To read entire file : <file_object>.read()


● To reads only a part of the File : <file_object>.read(size)

f = open("demo.txt", "r")

print(f.read(15))
15
Returns the 15 first characters of the file "demo.txt".
16
readline() METHOD

● readline() will return a line read, as a string from the file.

Syntax:

<file_object>.readline()

● Example

f = open("demo.txt", "r")

print(f.readline())

● This example program will return the first line in the file
17
“demo.txt” irrespective of number of lines in the text file.
Reading a complete file line by line using
readline().

18
readlines() METHOD
● readlines() method will return a list of strings, each separated by
\n
● readlines() can be used to read the entire content of the file.

Syntax:

<file_object>.readlines()

● It returns a list, which can then be used for manipulation.

Example : f = open("demofile.txt", "r")

print(f.readlines()) 19
Read a file using Readlines()

20
21
WRITING TO A TEXT FILE
● A Program writes into a text/binary file in hard disk.
● Followings are the methods to write a data to the file.
○ write () METHOD
○ writelines() METHOD
● To write to an existing file, you must add a parameter to the open()

Function which specifies the mode :

○ "a" - Append - will append to the end of the file


○ "w" - Write - will overwrite any existing content

22
write() Method
● write() method takes a string ( as parameter ) and writes it in the file.
● For storing data with end of line character, you will have to add \n
character to end of the string
● Example:

Open the file "demo_append.txt" and append content to the file:

f = open("demo_write.txt", ""a)

f.write("Hello students \n We are learning data file handling…..!")

f.close()

f = open("demo_write.txt", "r") #open and read the file after the


appending
23

print(f.read())
24
writelines() METHOD
● For writing a string at a time, we use write() method, it can't
be used

for writing a list, tuple etc. into a file.

● Python file method writelines() writes a sequence of strings


to the file. The sequence can be any iterable object
producing strings, typically a list of strings.
● So, whenever we have to write a sequence of string, we
will use writelines(), instead of write().

25
26
The flush()
The flush function forces the writing of data on disc still
pending on the output buffer.

Syntax : <file_object>.flush()

27
28
Standard Input, Output, and Error
Streams
❏ Keyboard is the standard input device
❏ stdin - reads from the keyboard
❏ Monitor is the standard output device.
❏ stdout - prints to the display
❏ If any error occurs it is also displayed on the monitor and
hence it is also the standard error device.
❏ Same as stdout but normally only for errors (stderr)

The standard devices are implemented as files called streams.


They can be used by importing the sys module.
29
DATA FILE HANDLING IN
BINARY FILES
● Files that store objects as some byte stream are called binary
files.
● That is, all the binary files are encoded in binary format , as a
sequence of bytes, which is understood by a computer or machine.
● In binary files, there is no delimiter to end the line.
● Since they are directly in the form of binary, there is no need to
translate them.
● But they are not in human readable form and hence difficult to

understand.
30
● Objects have a specific structure which must be maintained while
storing or accessing them.
● Python provides a special module called pickle module for this.

● PICKLING refers to the process of converting the structure to a


byte

stream before writing to a file.


● UNPICKLING is used to convert the byte stream back to the
original
31
structure while reading the contents of the file.
Pickling and Unpickling

32
PICKLE Module

● Before reading or writing to a file, we have to import the


pickle module.

import pickle

● It provides two main methods :


○ dump() method
○ load() method

33
Opening and closing binary files
Opening a binary file:

Similar to text file except that it should be opened in


binary mode.Adding a ‘b’ to the text file mode makes it binary -
file mode.

EXAMPLE :

f = open(“demo.dat”,”rb”)

Closing a binary file

f.close()
34
Mode Description● Various Modes for opening a binary file are:
“rb” Read Default value. Opens a file for reading, error if the file
does not exist.

“wb” Write Opens a file for writing, creates the file if it does not
exist

“ab” Append Opens a file for appending, creates the file if it does
not exist

“r+b”or Read and File must exist otherwise error is raised.Both reading
“rb+” Write and writing operations can take place.

“w+b”or Write and File is created if it does not exist.If the file exists past
“wb+” Read data is lost (truncated).Both reading and writing
operations can take place.

“a+b” or Append and File is created if it does not exist.If the file exists past35
“ab+” Read data is not lost .Both reading and writing operations
pickle.dump() Method
● pickle.dump() method is used to write the object in file
which is opened in binary access mode.

Syntax :

pickle.dump(<structure>,<FileObject>)

● Structure can be any sequence in Python such as list,


dictionary etc.
● FileObject is the file handle of file in which we have to write.

36
binary_file.dat file
after execution of
the program.

37
pickle.load() Method
● pickle.load() method is used to read data from a file

Syntax :

<structure> = pickle.load(<FileObject>)

● Structure can be any sequence in Python such as list,


dictionary etc.
● FileObject is the file handle of file in which we have to write.

38
39
Write a method to write employee
details into a binary file. Take the
input from the user.
Employee Details:

Employee Name

Employee Number

Department

Salary

40
Random Access in Files : tell() and
seek()
❏ tell() function is used to obtain the current position of the file
pointer

Syntax : f.tell()

❏ File pointer is like a cursor, which determines from where data


has to be read or written in the file.
❏ seek () function is used to change the position of the file pointer
to a given position.

Syntax : f.seek(offset,reference_point)

Where f is the file object 41


CSV files
● CSV stands for Comma Separated Values.It is a type of plain text
file that uses specific structuring to arrange tabular data such as a
spreadsheet or database.
● CSV like a text file , is in a human readable format and
extensively used to store tabular data, in a spreadsheet or
database.
● Each line of the file is a data record.
● Each record consists of one or more fields, separated by commas.
● The separator character of CSV files is called a delimiter.
● Default delimiter is (,).
● Other delimiters are tab(\t), colon (:), pipe(|), semicolon (;)
42
characters.
Python CSV Module
● CSV module provides two types of objects :
○ reader : to read from cvs files
○ writer : to write into csv files.
● To import csv module in our program , we use the following
statement:

import csv

43
Opening / Closing a CSV File
● Open a CSV File :

f = open(“demo_csv.csv”,”r”)

OR

f = open(“demo_csv.csv”,”w”)

● Close a CSV File:

f.close()

44
Role of argument newline in
opening of csv files :
● newline argument specifies how would python handle new line
characters while working with csv files on different Operating
System.
● Additional optional argument as newline = “”(null string) with the
file open() will ensure that no translation of EOL character takes
place.

45
Steps to write data to a csv file
1. Import csv module

import csv

2. Open csv file in write mode.

f = open(“csv_demo.csv”,”w”)

3. Create the writer object.

demo_writer = csv.writer(f)

4. Write data using the methods writerow() or writerows()


demo_writer.writerow(<iterable_object>)
5. Close the file
f.close() 46
Writing in CSV Files
● csv.writer() :

Returns a writer object which writes data into csv files.

● writerow() :

Writes one row of data onto the writer object.

Syntax : <writer_object>.writerow()

● writerows() :

Writes multiple rows into the writer object

Syntax : <writer_object>.writerow() 47
Writing in CSV Files
● To write data into csv files, writer() function of csv module
is used.
● csv.writer():
○ Returns a writer object which writes data into writer
object.

● Significance of writer object


○ The csv.writer() returns a writer object that converts the
data into a delimited string.
○ The string can be later converted into csv files using the
writerow() or writerows() method. 48
● <writer_object>.writerow() :

Writes one row of data in to the writer object.

● <writer_object>.writerows()

Writes multiple rows into the writer object.

49
50
Reading from CSV Module
● To read data from csv files, reader function of csv module is used.

● csv.reader() :

Returns a reader object.

It loads data from a csv file into an iterable after parsing


delimited data.
51
Steps to read data from a csv file
1. Import csv module

import csv

2. Open csv file in read mode.

f = open(“csv_demo.csv”,”r”)

3. Create the reader object.

demo_reader = csv.reader(f)

4. Fetch data through for loop, row by row.

5. Close the file


f.close() 52
53
QUESTIONS FOR
PRACTICE
Write a method in python to read the content from a file
“Poem.txt” and display the same on the screen.

Write a method in python to read the content from a file


“Poem.txt” line by line and display the same on the screen.

Write a method in python to count the number of lines from a


text file which are starting with an alphabet T.

Write a method in Python to count the total number of words


in a file
54
Write a method in python to read from a text file
“Poem.text” to find and display the occurrence of the word
“Twinkle”

Write a method Bigline() in Python to read lines from a


text file “Poem.txt” and display those lines which are
bigger than 50 characters.

Write a method to read data from a file. All the lowercase


letter should be stored in the file “lower.txt” , all upper
case characters get stored inside the file “upper.txt” and
other characters stored inside the file “others.txt”

55
THANK YOU

56

You might also like