加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
test01_dict.py 1.82 KB
一键复制 编辑 原始数据 按行查看 历史
牛枫翔 提交于 2022-11-24 09:58 . update test01_dict.py.
# test03_pickle.py
import pickle, os
def init_dict(): # 初始化字典数据
if os.path.exists("/opt/user.data") == False:
fw = open("/opt/user.data", mode="wb")
userdb = {} # 空字典
pickle.dump(userdb, fw)
fw.close()
# 代码在聊天区
def register(): # 注册
# 从磁盘中读取字典
with open("/opt/user.data", mode="rb") as fr:
userdb = pickle.load(fr)
user = input("username: ") # 输入用户名
if len(user) != 0 and user not in userdb.keys():
passwd = input("password:") # 输入该用户的密码
userdb[user] = passwd # 添加到字典中
# 将修改后字典重新写入文件保存
with open("/opt/user.data", mode="wb") as fw:
pickle.dump(userdb, fw)
else:
print("用户名不可用!")
def login(): # 登录
# 从磁盘中读取字典
with open("/opt/user.data", mode="rb") as fr:
userdb = pickle.load(fr)
# 提示用户输入用户名以及密码
user = input("username: ")
password = input("password: ")
if (user, password) in userdb.items():
print("login ok~")
else:
print("login error~")
def show_menu(): # 交互界面
init_dict() # 初始化字典的调用
while True:
xuanze = input("请选择 1-注册 2-登录 3-退出: ")
if xuanze not in ["1", "2", "3"]:
print("无效的输入, 请重试!")
continue # 跳过当次循环,直接进行下次循环
elif xuanze == "3":
print("Byebye~")
break # 终止循环
elif xuanze == "1":
register() # 执行注册的功能
else: # 2
login() # 执行登录的功能
if __name__ == '__main__':
show_menu() # 展示菜单
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化