Program
Output
program
#Menu Driven program to perform all the operations
#on a Binary file....
import pickle
def write():
f=open("StudentDetails.dat","wb")
record=[]
while True:
rno=int(input("Roll No:"))
name=input("Name:")
marks=int(input("Marks:"))
data=[rno,name,marks]
record.append(data)
ch=input("More(Y/N)?")
if ch in 'Nn':
break
pickle.dump(record,f)
print("Record Added..")
f.close()
def read():
print("Contents in a File...")
f=open("StudentDetails.dat","rb")
try:
while True:
s=pickle.load(f)
print(s)
for i in s:
print(i)
except Exception:
f.close()
def append():
f=open("StudentDetails.dat","rb+")
print("Append data in a File..")
Rec=pickle.load(f)
while True:
rno=int(input("Roll No:"))
name=input("Name:")
marks=int(input("Marks:"))
data=[rno,name,marks]
Rec.append(data)
ch=input("More(Y/N)?")
if ch in 'Nn':
break
f.seek(0)
pickle.dump(Rec,f)
print("Record Appended..")
f.close()
def search():
f=open("StudentDetails.dat","rb")
r=int(input("Enter roll no to be searched:"))
found=0
try:
while True:
s=pickle.load(f)
for i in s:
if i[0]==r:
print(i)
found=1
break
except EOFError:
f.close()
if found==0:
print("Sorry...No record Found..")
def update():
f=open("StudentDetails.dat","rb+")
r=int(input("Enter roll no whose details to be updated:"))
f.seek(0)
try:
while True:
rpos=f.tell()
s=pickle.load(f)
print(s)
for i in s:
if i[0]==r:
i[1]=input("New Name:")
i[2]=int(input("Updated Marks:"))
f.seek(rpos)
pickle.dump(s,f)
break
except Exception:
f.close()
def delete():
f=open("StudentDetails.dat","rb")
s=pickle.load(f)
f.close()
r=int(input("Enter roll no to be deleted:"))
f=open("StudentDetails.dat","wb")
print(s)
reclst=[]
for i in s:
if i[0]==r:
continue
reclst.append(i)
pickle.dump(reclst,f)
f.close()
#MainMenu
print("---------------------------------------------------")
print("1.Write Data in a Binary File..")
print("2.Read Data from a File..")
print("3.Append data in a File..")
print("4.Search Operation in a File..")
print("5.Update Data in a File..")
print("6.Delete Operation in a File..")
print("7.Exit..")
print("---------------------------------------------------")
while True:
ch=int(input("Enter your choice:"))
if ch==1:
write()
elif ch==2:
read()
elif ch==3:
append()
elif ch==4:
search()
elif ch==5:
update()
elif ch==6:
delete()
elif ch==7:
break