Python Student Database Management System
This is a small project to maintain student details like:
rollno
name
per
This project will clear the basic concepts of project development for student. Using this project as base the fields can be changed and a large project can be developed.
This project uses binary file handling to store and maintain the student data.
Here we have options for
- Adding a new record in the binary file
- Display all the records from the file
- Search a record on the basis of roll no
- Searh a record on the basis of name
- Modify a record on the basis of roll no
- Delete a record by roll no
Screen Shots of the above project
Main Menu

Display All The Records

Search A Record By Roll No

Search A Record By Name

View the Project
student1
"""to maintain student details
roll
name
per
"""
"""
modules imported
"""
import pickle
import os
"""
class used
"""
class student(object):
def __int__(s):
s.roll=0
s.name=""
s.per=0
def add_rec(s):
s.roll=int(input("Enter roll no "))
s.name=input("Enter name ")
s.name=s.name.upper()
s.per=float(input("Enter per "))
def disp_rec(s):
print("roll ",s.roll)
print("name ",s.name)
print("per ",s.per)
def display_rec(s):
print("%-10s"%s.roll,"%-20s"%s.name,"%-10s"%s.per)
#print("in display_rec")
def modify_rec(s):
s.roll=int(input("Enter new roll no "))
s.name=input("Enter new name ")
s.name=s.name.upper()
s.per=float(input("Enter new per "))
def write_record():
try:
rec=student()
file=open("stud.dat","ab")
rec.add_rec()
pickle.dump(rec,file)
file.close()
print("Record added in file")
input("Press any key to cont ....")
except:
pass
def display_all():
os.system("cls")
print(40*"=")
print("\n Student Records\n")
print(40*"=")
try:
file=open("stud.dat","rb")
while True:
rec=pickle.load(file)
rec.display_rec()
except EOFError:
file.close()
print(40*"=")
input("Press any key to cont ....")
except IOError:
print("file could not be opened")
def search_roll():
os.system("cls")
try:
z=0
print(40*"=")
print("Record Searching By Roll No")
print(40*"=")
n=int(input("Enter roll no search "))
file=open("stud.dat","rb")
while True:
rec=pickle.load(file)
#print(rec.roll)
if(rec.roll==n):
z=1
print("\nRecord Found and details are\n")
rec.disp_rec()
break
except EOFError:
file.close()
if(z==0):
print("record is not present")
except IOError:
print("file could not be opened")
input("Press any key to cont ....")
def search_name():
os.system("cls")
try:
z=0
n=input("Enter name to search ")
file=open("stud.dat","rb")
while True:
rec=pickle.load(file)
#print(rec.roll)
if(rec.name==n.upper()):
z=1
rec.disp_rec()
break
except EOFError:
file.close()
if(z==0):
print("record is not present")
except IOError:
print("file could not be opened")
input("Press any key to cont ....")
def modify_roll():
os.system("cls")
z=0
try:
n=int(input("Enter roll no to modify "))
file=open("stud.dat","rb")
temp=open("temp.dat","wb")
while True:
rec=pickle.load(file)
if(rec.roll==n):
z=1
print("record found and details are")
rec.disp_rec()
print("Enter new data ")
rec.modify_rec()
pickle.dump(rec,temp)
print("Record updated")
else:
pickle.dump(rec,temp)
except EOFError:
file.close()
temp.close()
if(z==0):
print("Record not found")
except IOError:
print("File could not be opened")
os.remove("stud.dat")
os.rename("temp.dat","stud.dat")
input("Press any key to cont ....")
def delete_roll():
os.system("cls")
z=0
try:
n=int(input("Enter roll no to delete "))
file=open("stud.dat","rb")
temp=open("temp.dat","wb")
while True:
rec=pickle.load(file)
if(rec.roll==n):
z=1
print("record to delete found and details are")
rec.disp_rec()
#pickle.dump(rec,temp)
#print("Record updated")
else:
pickle.dump(rec,temp)
except EOFError:
file.close()
temp.close()
if(z==0):
print("Record not found")
except IOError:
print("File could not be opened")
os.remove("stud.dat")
os.rename("temp.dat","stud.dat")
input("Press any key to cont ....")
while True:
os.system("cls")
print(40*"=")
print(""" Main Menu
---------
1. Add recod
2. display all records
3. search by rollno
4. search by name
5. Modify by rollno
6. delete by rollno
7. exit
""")
print(40*"=")
ch=int(input("Enter your choice "))
print(40*"=")
if(ch==1):
write_record()
elif(ch==2):
display_all()
elif(ch==3):
search_roll()
elif(ch==4):
search_name()
elif(ch==5):
modify_roll()
elif(ch==6):
delete_roll()
elif(ch==7):
print("End")
break
else:
print("Invalid choice")
Download Project
Download Project and Output in word format
CBSE Class 12 @ Python
Tutorials | Technical Questions | Interview Questions |
|---|---|---|
|
C Programming C++ Programming Class 11 (Python) Class 12 (Python) |
C Language C++ Programming Python |
C Interview Questions C++ Interview Questions C Programs C++ Programs |




