加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
test03_pickle.py 3.05 KB
一键复制 编辑 原始数据 按行查看 历史
牛枫翔 提交于 2022-10-24 09:56 . update test03_pickle.py.
# test03_pickle.py
# 修改后:
# test03_pickle.py
import pickle, os
def write_dict():
# 文件不存在,再去初始化
if os.path.exists("/tmp/mydict") == False:
userdb = {}
with open("/tmp/mydict", mode="wb") as fw:
pickle.dump(userdb, fw)
def register(): # 注册
# 从磁盘读取userdb字典
with open("/tmp/mydict", mode="rb") as fr:
userdb = pickle.load(fr) # userdb: 用户字典
username = input("username: ").strip()
if username != "" and username not in userdb.keys():
password = input("password: ")
userdb[username] = password
# 将修改后的字典userdb重新写到文件中
with open("/tmp/mydict", mode="wb") as fw:
pickle.dump(userdb, fw)
else:
print("您必须输入用户名或用户名已存在")
def login(): # 登陆
# 从磁盘读取userdb字典
with open("/tmp/mydict", mode="rb") as fr:
userdb = pickle.load(fr) # userdb: 用户字典
username = input("username: ")
passwd = input("passwd: ")
if username not in userdb.keys() or passwd!=userdb.get(username):
print("用户名不存在或密码错误")
else:
print("登陆成功")
def show_menu():
write_dict() # start.....
while True:
xuanze = input("1.注册/2.登录/3.退出: ")
if xuanze not in ["1", "2", "3"]:
print("无效的输入,请重试")
continue # 结束此次循环,直接开始下次循环
elif xuanze == "1":
register() # 执行注册功能,调用register函数
elif xuanze == "2":
login()
else:
print("Byebye~")
break
if __name__ == '__main__': # main + tab
show_menu()
# userdb = {"zhangsan": "123"} # 用于存储用户名和密码
# def register(): # 注册
# username = input("username: ").strip()
# if username != "" and username not in userdb.keys():
# # 有效的用户名, 才可以输入密码
# password = input("password: ")
# # 将用户名和密码添加到字典中
# userdb[username] = password
# else:
# print("您必须输入用户名或用户名已存在")
# def login(): # 登陆
# username = input("username: ")
# passwd = input("passwd: ")
# if username not in userdb.keys() or passwd!=userdb.get(username):
# print("用户名不存在或密码错误")
# else:
# print("登陆成功")
# def show_menu():
# while True:
# xuanze = input("1.注册/2.登录/3.退出: ")
# if xuanze not in ["1", "2", "3"]:
# print("无效的输入,请重试")
# continue # 结束此次循环,直接开始下次循环
# elif xuanze == "1":
# register() # 执行注册功能,调用register函数
# elif xuanze == "2":
# login()
# else:
# print("Byebye~")
# break
# if __name__ == '__main__': # main + tab
# show_menu()
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化