Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 5

import pickle

import os

def write_b():

f=open('Employee.dat', 'ab')

D={}

D['EID']=int(input("Enter EID="))

D['Name']=input("Enter Name=")

D['Salary']=int(input("Enter Salary="))

pickle.dump(D, f)

f.close()

def display():

f=open('Employee.dat', 'rb')

while True:

try:

rec=pickle.load(f)

print(rec)

except EOFError:

break

f.close()

def search():

f=open('Employee.dat', 'rb')

name=input("Enter the name to find=")

found=0
while True:

try:

rec=pcikle.load(f)

if rec['Name']==name:

print(rec)

found=1

except EOFError:

f.close()

break

if found==0:

print("No such names exist.")

def del_b():

f=open('Employee.bin', 'rb')

t=open('Temp.bin', 'wb')

m=int(input("Enter EID="))

found=0

while True:

try:

rec=pcikle.load(f)

if rec['EID']!=rm:

pickle.dump(rec, t)

else:

found=1

except EOFError:
break

f.close()

t.close()

if found==1:

os.remove('Employee.bin')

os.remove('Temp.bin','employee.bin')

else:

print('no such EID')

def update():

f=open('employee.bin','rb+')

eid=int(input("enter rec to update"))

found=0

while True:

try:

pos=f.tell()

rec=pickle.load(f)

if rec['EID']==eid:

rec['NAME']=input("enter new name")

rec['Sal']=int(input("enter new salary:"))

found=1

print(rec)

f.seek(pos)

pickle.dump(rec,f)

except EOFError:
break

if found==0:

print("no such rec")

f.close()

while True:

print("1. Write into the file=")

print("2. Display the contents of a file=")

print("3. Search using name=")

print("4. Delete using EID=")

print("5. Update using EID=")

print("6. Exit")

etc=int(input("Enter your choice="))

if etc==1:

write_b()

elif etc==2:

display()

elif etc==3:

search()

elif etc==4:

del_b()

elif etc==5:

update()

elif etc==6:

exit()
else:

print("Invalid Input")

You might also like