心之所有
想学习的可以互相沟通,互相学习,刚开始学。有什么问题可以沟通

导航

 

一、python的异常处理

 (1)正常的流程: try→else→finally

 

(2)错误的流程,try→expect→finally

程序出现错误的时候会给出错误提示

python中异常的父类是BaseException

综合案例,如:


#导入sys
import sys
def login():
#用户名分离
username=input('输入用户名:\n')
#密码分离
password=input('输入密码:\n')
# 读取文件里边的内容(用户名和密码)
with open('biji.tst','r') as f:
# (用户名和密码)
userWord=f.read()
# 把用户名和密码分割开
lists=userWord.split('|')
# 如果用户名和密码正确,list拆分开是列表的形式,按照列表的索引方式排列,0就是用户名,1就是密码
if lists[0]==username and lists[1]==password:
print('登陆成功')
# 其他的(错误的)
else:
print('输入正确的用户名和密码')

#注册register
def register():
#用户名
username=input('请输入用户名:\n')
#密码
password=input('输入密码:\n')
# 用户名+密码
dengLu=username + '|' + password
# f表示用户名和密码
with open('biji.tst', 'w') as f:
# 填写用户名和密码
f.write(dengLu)


def func():
while True:

try:
'''输入的内容'''
s = int(input('1、登陆,2、注册,3、退出:\n'))
# 如果是1
if s==1:
# 显示登陆(login)
longin()
# 如果是2
elif s==2:
# 显示注册
register()
# 如果是3
elif s==3:
# 结束运行(exit)
sys.exit(0)
# 其他的,请继续
else:continue
# 错误都、异常的(Exception)
except Exception as e:
# 继续
continue
func()
 

 

用序列化和反序列化的方式:

 

 

优点:省略重复的步骤

 


import sys  # 获取sys
import json # 获取json

def out():
username = input('输入用户名:\n')
password = input('输入密码:\n')
# 返回用户名和密码
return username ,password


# 登陆(logic)
def login():
username , password =out()
# 针对文件的反序列化,读取文件里面的内容
dengLu=json .load(open('biji.tst'))
# 把用户名和密码分割开
list1= dengLu.split('/')
# 如果用户名和密码正确,按照索引的方式,[0]先输入用户名,[1]后输入密码
if list1[0]== username and list1[1]== password:
print('登陆成功')
# 其他的(错误的)
else:
print('输入正确的用户名和密码')

# 注册register
def register():
username, password=out()
# 用户名+密码
dengLu = username + '/' + password
# 对文件的序列化,把内容写到文件里面去
json.dump(dengLu,open( 'biji.tst','w'))

def func( ):
while True:
try:
s = int(input('1、登陆,2、注册,3、退出:\n'))
if s==1:
login()
elif s==2:
register()
elif s==3:
sys.exit(0)
else:
continue
except Exception as e:
continue


if __name__ == '__main__':
func()
 

 

posted on 2021-06-30 18:02  橙橙的橙  阅读(34)  评论(0编辑  收藏  举报