Xii Programs Binary Files
Xii Programs Binary Files
Q1. A binary file “Book.dat” has structure [BookNo, Book_Name, Author, Price].
Write a user defined function CreateFile() to input data for a record and add to Book.dat .
Write a function CountRec(Author) in Python which accepts the Author name as parameter and count and return
number of books by the given Author are stored in the binary file “Book.dat
import pickle
def createfile():
fobj=open("Book.dat","ab")
BookNo=int(input("Enter Book Number : "))
Book_name=input("Enter book Name :")
Author = input("Enter Author name: ")
Price = int(input("Price of book : "))
rec=[BookNo, Book_name ,Author, Price]
pickle.dump(rec, fobj)
fobj.close()
createfile() # This function is called just to verify result and not required in exam
def countrec(Author):
fobj=open("Book.dat", "rb")
num = 0
try:
while True:
rec=pickle.load(fobj)
if Author==rec[2]:
num = num + 1
print(rec[0],rec[1],rec[2],rec[3])
except:
fobj.close()
return num
n=countrec("amit") # This function is called just to verify result and not required in exam
print("Total records", n) # This statement is just to verify result and not required in exam
Q2. A binary file “STUDENT.DAT” has structure [admission_number, Name, Percentage]. Write a function
countrec() in Python that would read contents of the file “STUDENT.DAT” and display the details of those students
whose percentage is above 75. Also display number of students scoring above 75%.
import pickle
def countrec():
fobj=open("student.dat","rb")
num = 0
try:
while True:
rec=pickle.load(fobj)
if rec[2]>75:
num = num + 1
print(rec[0],rec[1],rec[2])
except:
fobj.close()
return num
Q3 Write a function in python to search and display details, whose destination is “Cochin” from binary file
“Bus.Dat”. Assuming the binary file is containing the following elements in the list:
Bus Number
Bus Starting Point
Bus Destination
import pickle
def countrec():
fobj=open("bus.dat","rb")
num = 0
try:
while True:
rec=pickle.load(fobj)
if rec[2]=="Cochin" or rec[2]=="cochin":
num = num + 1
print(rec[0],rec[1],rec[2])
except:
fobj.close()
return num
n=countrec() # This function is called just to verify result
print(n)
Q4. Write a function addrec() in Python to add more new records at the bottom of a binary file “STUDENT.dat”,
assuming the binary file is containing the following structure :
[Roll Number, Student Name]
import pickle
def addrec():
fobj=open("student.dat","ab")
rollno=int(input("Roll Number : "))
sname=input("Student Name :")
rec=[rollno,sname]
pickle.dump(rec,fobj)
fobj.close()
addrec()
Q5. Write a function searchprod( pc) in python to display the record of a particular product from a file product.dat
whose code is passed as an argument. Structure of product contains the following elements [product code ,
product price]
import pickle
def searchprod(pc):
fobj=open("product.dat","rb")
num = 0
try:
while True:
rec=pickle.load(fobj)
if rec[0]==pc:
print(rec)
except:
fobj.close()
n=searchprod(1) # This function is called to verify the result
Q6. Write a function routechange(route number) which takes the Route number as parameter and modify the
route name(Accept it from the user) of passed route number in a binary file “route.dat”.
import pickle
def routechange(rno):
fobj=open("route.dat","rb")
try:
while True:
rec=pickle.load(fobj)
if rec[0]==rno:
rn=input("Enter route name to be changed ")
rec[1]=rn
print(rec) #This statement is called to verify the change in the record
except:
fobj.close()
routechange(1) # This function is called to verify the result
Q7. Write a function countrec(sport name) in Python which accepts the name of sport as parameter and count
and display the coach name of a sport which is passed as argument from the binary file “sport.dat”. Structure of
record in a file is given below ——————– – [sport name, coach name]
def countrec(sn):
num=0
fobj=open("data.dat","rb")
try:
print("Sport Name","\t","Coach Name")
while True:
rec=pickle.load(fobj)
if rec[0]==sn:
print(rec[0],"\t\t",rec[1])
num=num+1
return num
except:
fobj.close()
Q8. A binary file “salary.DAT” has structure [employee id, employee name, salary]. Write a function countrec() in
Python that would read contents of the file “salary.DAT” and display the details of those employee whose salary is
above 20000.
def countrec():
num=0
fobj=open("data.dat","rb")
try:
print("Emp id\tEmp Name\tEmp Sal")
while True:
rec=pickle.load(fobj)
if rec[2]>20000:
print(rec[0],"\t\t",rec[1],"\t\t",rec[2])
except:
fobj.close()
countrec()# This function is called to verify the result
Q9. Amit is a monitor of class XII-A and he stored the record of all the students of his class in a file named
“class.dat”. Structure of record is [roll number, name, percentage]. His computer teacher has assigned the
following duty to Amit
Write a function remcount( ) to count the number of students who need remedial class (student who scored less
than 40 percent)
def countrec():
fobj=open("data.dat","rb")
try:
print("Emp id\tEmp Name\tEmp Sal")
while True:
rec=pickle.load(fobj)
if rec[2]>20000:
print(rec[0],"\t\t",rec[1],"\t\t",rec[2])
except:
fobj.close()
countrec()# This function is called to verify the result
Q10. A binary file “emp.dat” has structure [employee id, employee name]. Write a function delrec(employee
number) in Python that would read contents of the file “emp.dat” and delete the details of those employee
whose employee number is passed as argument.