Binary File Important Questions
Binary File Important Questions
Q. 11 Write a program to read name and roll no from a binary file. The file has
data as list [name,rollno]
Ans.
import pickle
F1 = open ("file.dat", "rb")
while True:
try:
l = pickle.load(F1)
print (l)
except EOFError:
break
F1.close()
Q. 13 Write a code that reads from a file “sales.dat” which has following
information [itemcode, amount] Read from the file and find the sum of the
amount.
Ans.
import pickle
F1 = open ("sales.dat", "rb")
sum = 0
while True:
try:
l = pickle.load(F1)
sum = sum + l[1]
except EOFError:
break
print (sum)
F1.close()
1. Write a user defined function CreateFile() to input data for a record and
add to Book.dat .
2. 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
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()
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 :
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()
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()
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
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 remcount():
fobj=open("class.dat","rb")
try:
print("Roll No\t Name\t Percentage")
while True:
rec=pickle.load(fobj)
if rec[2]>40:
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.