Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (1 vote)
7K views

Bank Management System Project in Python

This Bank Management System project in Python allows users to perform basic banking functions through a console-based interface. It allows creation of new accounts, deposits, withdrawals, balance checks, viewing all accounts, closing accounts, and modifying account details. User data is stored permanently in an external database file. The project aims to provide a simple demonstration of basic CRUD operations for managing bank accounts and transactions.

Uploaded by

Dhamodharan
Copyright
© © All Rights Reserved
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
0% found this document useful (1 vote)
7K views

Bank Management System Project in Python

This Bank Management System project in Python allows users to perform basic banking functions through a console-based interface. It allows creation of new accounts, deposits, withdrawals, balance checks, viewing all accounts, closing accounts, and modifying account details. User data is stored permanently in an external database file. The project aims to provide a simple demonstration of basic CRUD operations for managing bank accounts and transactions.

Uploaded by

Dhamodharan
Copyright
© © All Rights Reserved
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
You are on page 1/ 12

Bank Management System

Project in Python
Bank Management System project is written in Python. The
project file contains a python script (main.py) and a database
file. This is a simple console based system which is very easy
to understand and use. Talking about the system, it contains all
the basic functions which include creating a new account,
view account holders record, withdraws and deposit amount,
balance inquiry, closing an account and edit account details.
In this mini project, there is no such login system. This means
he/she can use all those available features easily without any
restriction. It is too easy to use, he/she can check the total
bank account records easily.

Talking about the features of the Bank Management System, a


user can create an account by providing the name of the
account holder, number, selecting amount type (Saving
account or Current account) and providing an initial amount
more than or equal to 500. Then the user can also deposit and
withdraw money just by providing his/her account and entering
the amount. For certain purpose, he/she can also check for the
balance inquiry which displays the account number and
amount. He/she can also view all the account holder’s list.
Another feature is that he/she can modify their account detail
and type if they want to.

This simple console based Bank Management system provides


the simplest management of bank account and transaction. In
short, this projects mainly focus on CRUD. There’s an external
database connection file used in this mini project to save
user’s data permanently.
In order to run the project, you must have installed Python, on
your PC. This is a simple Console Based system, specially
written for the beginners. Bank Management System in Python
project with source code is free to download. Use for
education purpose only! For the project demo, have a look at
the YouTube Video above.

How To Run :
 first you need install python.
 download project.

 extract project.

 double click in main.py.

 Project is run

 Thanks ....

import pickle

import os

import pathlib

class Account :

accNo = 0

name = ''

deposit=0

type = ''

def createAccount(self):

self.accNo= int(input("Enter the account no : "))

self.name = input("Enter the account holder name : ")


self.type = input("Ente the type of account [C/S] : ")

self.deposit = int(input("Enter The Initial amount(>=500 for Saving and >=1000 for current"))

print("\n\n\nAccount Created")

def showAccount(self):

print("Account Number : ",self.accNo)

print("Account Holder Name : ", self.name)

print("Type of Account",self.type)

print("Balance : ",self.deposit)

def modifyAccount(self):

print("Account Number : ",self.accNo)

self.name = input("Modify Account Holder Name :")

self.type = input("Modify type of Account :")

self.deposit = int(input("Modify Balance :"))

def depositAmount(self,amount):

self.deposit += amount

def withdrawAmount(self,amount):

self.deposit -= amount

def report(self):

print(self.accNo, " ",self.name ," ",self.type," ", self.deposit)


def getAccountNo(self):

return self.accNo

def getAcccountHolderName(self):

return self.name

def getAccountType(self):

return self.type

def getDeposit(self):

return self.deposit

def intro():

print("\t\t\t\t**********************")

print("\t\t\t\tBANK MANAGEMENT SYSTEM")

print("\t\t\t\t**********************")

print("\t\t\t\tBrought To You By:")

print("\t\t\t\tprojectworlds.in")

input()

def writeAccount():

account = Account()

account.createAccount()

writeAccountsFile(account)
def displayAll():

file = pathlib.Path("accounts.data")

if file.exists ():

infile = open('accounts.data','rb')

mylist = pickle.load(infile)

for item in mylist :

print(item.accNo," ", item.name, " ",item.type, " ",item.deposit )

infile.close()

else :

print("No records to display")

def displaySp(num):

file = pathlib.Path("accounts.data")

if file.exists ():

infile = open('accounts.data','rb')

mylist = pickle.load(infile)

infile.close()

found = False

for item in mylist :

if item.accNo == num :

print("Your account Balance is = ",item.deposit)

found = True

else :
print("No records to Search")

if not found :

print("No existing record with this number")

def depositAndWithdraw(num1,num2):

file = pathlib.Path("accounts.data")

if file.exists ():

infile = open('accounts.data','rb')

mylist = pickle.load(infile)

infile.close()

os.remove('accounts.data')

for item in mylist :

if item.accNo == num1 :

if num2 == 1 :

amount = int(input("Enter the amount to deposit : "))

item.deposit += amount

print("Your account is updted")

elif num2 == 2 :

amount = int(input("Enter the amount to withdraw : "))

if amount <= item.deposit :

item.deposit -=amount

else :

print("You cannot withdraw larger amount")

else :
print("No records to Search")

outfile = open('newaccounts.data','wb')

pickle.dump(mylist, outfile)

outfile.close()

os.rename('newaccounts.data', 'accounts.data')

def deleteAccount(num):

file = pathlib.Path("accounts.data")

if file.exists ():

infile = open('accounts.data','rb')

oldlist = pickle.load(infile)

infile.close()

newlist = []

for item in oldlist :

if item.accNo != num :

newlist.append(item)

os.remove('accounts.data')

outfile = open('newaccounts.data','wb')

pickle.dump(newlist, outfile)

outfile.close()

os.rename('newaccounts.data', 'accounts.data')

def modifyAccount(num):

file = pathlib.Path("accounts.data")
if file.exists ():

infile = open('accounts.data','rb')

oldlist = pickle.load(infile)

infile.close()

os.remove('accounts.data')

for item in oldlist :

if item.accNo == num :

item.name = input("Enter the account holder name : ")

item.type = input("Enter the account Type : ")

item.deposit = int(input("Enter the Amount : "))

outfile = open('newaccounts.data','wb')

pickle.dump(oldlist, outfile)

outfile.close()

os.rename('newaccounts.data', 'accounts.data')

def writeAccountsFile(account) :

file = pathlib.Path("accounts.data")

if file.exists ():

infile = open('accounts.data','rb')

oldlist = pickle.load(infile)

oldlist.append(account)

infile.close()
os.remove('accounts.data')

else :

oldlist = [account]

outfile = open('newaccounts.data','wb')

pickle.dump(oldlist, outfile)

outfile.close()

os.rename('newaccounts.data', 'accounts.data')

# start of the program

ch=''

num=0

intro()

while ch != 8:

#system("cls");

print("\tMAIN MENU")

print("\t1. NEW ACCOUNT")

print("\t2. DEPOSIT AMOUNT")

print("\t3. WITHDRAW AMOUNT")

print("\t4. BALANCE ENQUIRY")

print("\t5. ALL ACCOUNT HOLDER LIST")

print("\t6. CLOSE AN ACCOUNT")

print("\t7. MODIFY AN ACCOUNT")

print("\t8. EXIT")
print("\tSelect Your Option (1-8) ")

ch = input()

#system("cls");

if ch == '1':

writeAccount()

elif ch =='2':

num = int(input("\tEnter The account No. : "))

depositAndWithdraw(num, 1)

elif ch == '3':

num = int(input("\tEnter The account No. : "))

depositAndWithdraw(num, 2)

elif ch == '4':

num = int(input("\tEnter The account No. : "))

displaySp(num)

elif ch == '5':

displayAll();

elif ch == '6':

num =int(input("\tEnter The account No. : "))

deleteAccount(num)

elif ch == '7':

num = int(input("\tEnter The account No. : "))

modifyAccount(num)

elif ch == '8':

print("\tThanks for using bank managemnt system")


break

else :

print("Invalid choice")

ch = input("Enter your choice : ")

You might also like