Python 程序设计

您所在的位置:网站首页 python用户登录界面项目设计描述怎么写 Python 程序设计

Python 程序设计

2024-07-09 18:18| 来源: 网络整理| 查看: 265

【Python 程序设计】-简单系统登录页面设计

目录 【Python 程序设计】-简单系统登录页面设计1、需求分析2、总体设计3、详细设计4、程序运行结果测试与分析5、完整源代码

1、需求分析

系统要有管理员登录、普通用户登录和退出三个选项可供选择 系统要能够实现登入出错提示,比如账户密码错误等,用户信息保存在user目录下的文件夹中,存储在user.csv中 系统要能够进行欢迎界面显示,登录成功后显示该页面。 系统要能够有写入信息功能,当用户或管理员的文件为空时,则向里面写入信息。 注册界面要能够进行用户名重复提示,当用户注册账户已存在时,进行相应信息的提示。

2、总体设计

综合运用Python编程基础、面向对象程序设计,python文件处理、tkinter模块设计等知识要点 流程图:在这里插入图片描述登录系统流程图

3、详细设计

(1)系统具备初始化功能,初始化包含写入管理员用户信息,创建普通用户目录,创建日志目录。

class UserDefinedException(Exception): def __init__(self,eid,message,lineNo): #异常描述 # 初始化管理员 def init():

(2)图形界面要求美观大方,具备系统名称显示、用户类型选择、用户名及密码输入、登录及退出按钮、欢迎界面等功能。

# 欢迎界面设计 def welcome(): winlabel = tk.Label(window,text='请选择用户类型:', fg='black',bg='pink',font=("微软雅黑", 15,'bold'))winlabel.place(x=100, y=110)winlabel.configure(width=20,height=4) #设置标签的边框 # 按钮设计 bt_logquit = tk.Button(window, text='退出系统', bg='pink',command=usr_sign_quit) bt_logquit.place(x=200, y=230) bt_admin_login = tk.Button(window, text='管理员登录', bg='pink',command=admin_log_in) bt_admin_login.place(x=110, y=180) bt_user_login = tk.Button(window, text='普通用户登录',bg='pink', command=usr_log_in) bt_user_login.place(x=270, y=180)

(3)用户登录信息存储CSV文件,包含用户名、用户类型、登录时间、登录成功/失败标志、备注信息等,以追加写的方式,分别写入管理员登录,普通用户登录和注册的信息。

# 储存用户登录成功信息 def user_csv(): row = [{'用户姓名': user_name.get(), '用户密码': user_pwd.get()}] time1 = [str("\n"+"用户登录时间:" + str(datetime.now()) + "=====")] is_welcome = [str("登录成功!")] with open('test2.csv', 'a', newline='')as f:

(4)程序源代码要求关键代码有行注释,函数有IPO注释,类和对象有属性注释、方法注释。

#管理员登录 def admin_log_in(): #管理员登录验证 def admin_loggin(): #普通用户登录 def usr_log_in(): #普通用户登录验证 def user_loggin(): #注册函数 def usr_sign_up(): #确认注册时的相应函数 def sign_up(): #退出的函数 def usr_sign_quit():

(5)源代码中函数建议全部做异常处理,异常信息写日志文件或csv文件,文件以日期命名,异常信息包含:异常发生时间、异常代码、异常描述、异常位置等。将日志文件以当前时间命名并放入mylog的目录中。

# 异常信息写日志 except FileNotFoundError as e: filename = "./users/" + usr_name with open(filename, 'wb') as usr_file: usrs_info = {'u_pwd': user_pwd.get(), 'u_name': user_name.get()} pickle.dump(usrs_info, usr_file) usr_file.close() file_log = time.strftime("%Y-%m-%d-%H_%M_%S", time.localtime()) file = '%s.txt' % file_log file_log_name = "./mylogs/" + file file = open(file_log_name,'a+') file.write(str(datetime.now().strftime('%Y%m%d'))) file.flush() file.write("\n====="+str(datetime.now())+"=====\n") file.close() 4、程序运行结果测试与分析

主窗体设计: 在这里插入图片描述

欢迎界面设计 在这里插入图片描述

管理员登录界面 在这里插入图片描述 用户名与密码正确: 在这里插入图片描述 用户名或密码错误: 在这里插入图片描述 在这里插入图片描述

普通用户登录: 在这里插入图片描述 用户名或密码错误: 在这里插入图片描述 在这里插入图片描述 注册成功页面: 在这里插入图片描述 用户名与密码正确: 在这里插入图片描述

写CSV文件 在这里插入图片描述

异常信息写日志文件 在这里插入图片描述

5、完整源代码

源代码.zip https://download.csdn.net/download/paney_li/87268573

希望可以帮到你哦!



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3