Menu
Menu
import pickle
def add():
stu={}
n=int(input('no of records'))
fp=open('st.dat','ab')
for i in range(n):
rno=int(input('rollno'))
nm=input('enter name')
mk=float(input('enter marks'))
stu['Rn']=rno
stu['Name']=nm
stu['Mark']=mk
pickle.dump(stu,fp)
fp.close()
def search():
fp=fp=open('st.dat','rb')
stu={}
rno=int(input('enter rollno'))
found=False
try:
while True:
stu=pickle.load(fp)
if stu['Rn']==rno:
print(stu['Name'])
found=True
except EOFError:
fp.close()
def update():
fp=open('st.dat','rb+')
stu={}
found=False
rn=int(input('enter the rollno of student to be modified:'))
try:
while True:
ps=fp.tell()
stu=pickle.load(fp)
if stu['Rn']==rn:
print(stu) # display the existing record
# enter data for new record
rno=int(input('rollno'))
nm=input('enter name')
mk=float(input('enter marks'))
stu['Rn']=rno
stu['Name']=nm
stu['Mark']=mk
fp.seek(ps)
pickle.dump(stu,fp)
found=True
except EOFError:
if found==False:
print ('not found')
fp.close()
#interface
import mysql.connector as sqltor
import pickle
fp=open('st.dat','wb')
stu={}
mycon=sqltor.connect(host="localhost", user= "root", password="1234", database=
"12SB2023")
if mycon.is_connected() ==False:
print ("Error connecting to My SQL database")
else:
print("Connected")
cursor=mycon.cursor()
q=("select roll_no, name, mark from student1")
cursor.execute(q)
data=cursor.fetchall()
l=len(data)
for i in range(l):
# print (data[i] [0] "\t", data[i] [1])
stu['Rn']=data [i] [0]
stu['Name']=data [i] [1]
stu['Mark']=data [i] [2]
pickle.dump(stu, fp)
fp.close()
#print ("done")
mycon.close()
#menu
reply='y'
while reply.lower()=='y':
print('*******Menu******')
print('1. add')
print('2. display')
print('3. search')
print('4. update')
print('5. exit')
print('enter choice')
ch=int(input())
if ch==1:
add()
elif ch==2:
display()
elif ch==3:
search()
elif ch==4:
update()
else:
break
print('do you want to cont....')
reply=input()