Binary File Program Model
Binary File Program Model
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()
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")
print("Total records", n)
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:
1. Bus Number
2. Bus Starting Point
3. 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()
print(“Number of Buses – Cochin:”,num)
countrec()
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)
Q6. Write a function routechange(routenumber) 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”.
[rno,rname]
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)
except:
fobj.close()
routechange(1)
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()
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()
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.