based on the program. it can save file depend on the username that the user enter. how to make the program ask the user to change to other username since the username already existed.
while True:
RegOrLog = raw_input('[Register/Login]:')
if RegOrLog not in ('reg', 'register', 'REGISTER','log', 'login', 'LOGIN',\
'r','l'):
print "Please enter 'register' if you dont have account"
print "Please enter 'login' if you already registered"
if RegOrLog in ('reg', 'register', 'REGISTER','r','Register'):
count = 0
while count < 1:
regusrnm = raw_input('Enter your desire login name:')
regusrnm = regusrnm.lower()
regpswrd = raw_input('Enter your password:')
while True:
regage = raw_input('Enter your age:')
if int(regage) not in range(1, 100):
print 'please enter apropriate value'
else:
break
while True:
reggender = raw_input('State your gender:')
if reggender not in ('male', 'female'):
print 'Are you an alien?'
else:
break
data = {"username": regusrnm, "password": regpswrd, "age": regage,\
"gender": reggender}
pickle.dump( data, open( regusrnm, "wb" ) )
RegOrLog = 'login'
print 'Please login to your account for security purpose'
break
if RegOrLog in ('log', 'login', 'LOGIN','l','Login'):
logusrnm = raw_input('Enter your username:')
data = pickle.load( open( logusrnm, "rb" ) )
count = 3
while count >= 1:
logpswrd = raw_input('Enter your password:')
count = count - 1
if logpswrd != data["password"]:
print "You have",count, "attempt left"
if count == 0:
print "The account doesn't exist or wrong password"
print 'Please register a new one'
break
else:
print 'Welcome Back',data["username"]
break
and also how to make the save file store inside folder so not to make it messy. like it clean and neat :D
import os.path
os.path.exists(file_name)
Returns True
if directory or file with name file_name
exists. So you just check
if os.path.exists(regusrnm) == True:
# ask user to enter another name
That means that you change
if RegOrLog in ('reg', 'register', 'REGISTER','r','Register'):
count = 0
while count < 1:
to
if RegOrLog in ('reg', 'register', 'REGISTER','r','Register'):
count = 0
while os.path.exists(regusrnm) == True:
Before that you need to assign some value to regusrnm
. admin
seems to be a good one because every system has an admin
:)
So the whole part would be
regusrnm = 'admin'
if RegOrLog in ('reg', 'register', 'REGISTER','r','Register'):
count = 0
while os.path.exists(regusrnm) == True:
You can also use os.path.isfile(file_name)
to check if file_name
is a file (and not a directory).