0% found this document useful (0 votes)
9 views

Bank Management Python rasia

This document outlines a simple Console Based Bank Management System project written in Python, intended for educational purposes. It provides instructions on how to run the project, including installation and execution steps, as well as the source code for managing bank accounts, deposits, withdrawals, and account modifications. The system utilizes Python's pickle module for data storage and retrieval, allowing users to create, display, modify, and delete accounts.

Uploaded by

kamandas2901
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
9 views

Bank Management Python rasia

This document outlines a simple Console Based Bank Management System project written in Python, intended for educational purposes. It provides instructions on how to run the project, including installation and execution steps, as well as the source code for managing bank accounts, deposits, withdrawals, and account modifications. The system utilizes Python's pickle module for data storage and retrieval, allowing users to create, display, modify, and delete accounts.

Uploaded by

kamandas2901
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 19

Made with Xodo PDF Reader and Editor

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 : ")


Made with Xodo PDF Reader and Editor

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)


Made with Xodo PDF Reader and Editor

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)
Made with Xodo PDF Reader and Editor

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 :
Made with Xodo PDF Reader and Editor

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 :
Made with Xodo PDF Reader and Editor

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")
Made with Xodo PDF Reader and Editor

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()
Made with Xodo PDF Reader and Editor

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")
Made with Xodo PDF Reader and Editor

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")


Made with Xodo PDF Reader and Editor

break

else :

print("Invalid choice")

ch = input("Enter your choice : ")

You might also like