用python编写用户登录界面,python编写登录窗口

大家好,给大家分享一下用python编写用户登录界面,很多人还不知道这一点。下面详细解释一下。现在让我们来看看!

Source code download: 本文相关源码

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

1、需求分析

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

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

希望可以帮到你哦!

  • 12
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 利用Python登陆账号下载数据的方法有很多种,下面以使用`requests`模块为例进行说明。 首先,我们需要用到`requests`模块进行网络请求。可以使用以下命令安装该模块: ``` pip install requests ``` 接下来,首先需要完成登陆过程。通常情况下,登陆过程需要发送POST请求,并携带账号和密码等信息。下面是一个简单的示例: ```python import requests def login(username, password): login_url = 'https://example.com/login' data = { 'username': username, 'password': password } response = requests.post(login_url, data=data) # 判断登陆是否成功 if response.status_code == 200: print('登陆成功') else: print('登陆失败') # 调用登陆函数,传入账号和密码 login('your_username', 'your_password') ``` 在登陆成功后,可以使用`requests`模块发送GET或POST请求下载数据。具体的请求方式和参数要根据实际场景而定。 以下是一个简单的示例,以下载文件为例: ```python import requests def download_file(url, save_path): response = requests.get(url) # 判断请求是否成功 if response.status_code == 200: with open(save_path, 'wb') as file: file.write(response.content) print('文件下载成功') else: print('文件下载失败') # 调用下载函数,传入文件的URL和保存路径 download_file('https://example.com/download', 'path/to/save/file') ``` 以上就是利用Python登陆账号下载数据的简单示例,具体的实现方式还需要根据实际情况进行调整和完善。 ### 回答2: 利用Python登录账号并下载数据的过程相对简单。首先,我们需要使用Python中的requests库发送POST请求来模拟登录账号。在发送POST请求时,需要将用户名和密码作为参数传递给登录接口。接着,我们要保留会话(session),以便在后续的请求中保持登录状态。 登录成功后,我们可以使用requests库发送GET请求来下载数据。在发送GET请求时,需要将登录成功后的会话对象传递给请求,以确保我们已经登录到账号。 如果数据是通过浏览器登录后才能访问的,我们可以使用Python中的selenium库来自动化浏览器操作。使用selenium库可以模拟用户登录账号,并通过操作浏览器来下载数据。 下面是一个示例代码,展示如何利用Python登录账号并下载数据: ``` import requests # 登录账号 login_url = "http://example.com/login" # 登录接口 data = { "username": "your_username", "password": "your_password" } session = requests.Session() session.post(login_url, data=data) # 下载数据 download_url = "http://example.com/download" # 数据下载接口 response = session.get(download_url) # 将数据保存到本地文件 with open("data.csv", "wb") as file: file.write(response.content) print("数据下载成功!") ``` 需要注意的是,具体的登录接口、数据下载接口、参数等信息可能因网站而异,需要根据具体情况进行调整。另外,如果使用selenium库进行浏览器自动化操作,则需要提前安装selenium库,并下载对应浏览器的驱动程序。 希望以上内容对你有所帮助! ### 回答3: 首先,我们需要安装Python的requests库。在命令行中执行以下命令可以安装requests库: ``` pip install requests ``` 接下来,我们可以使用requests库来模拟登录和下载数据。以下是一个简单的示例代码: ```python import requests def login(username, password): # 构建登录请求的数据 data = { 'username': username, 'password': password } # 发送登录请求 response = requests.post('https://example.com/login', data=data) # 检查登录是否成功 if response.status_code == 200: print('登录成功') return True else: print('登录失败') return False def download_data(username, password): if login(username, password): # 登录成功后,发送数据下载请求 response = requests.get('https://example.com/data-download') # 将获取到的数据保存到本地文件 with open('data.txt', 'wb') as file: file.write(response.content) print('数据下载完成') else: print('无法下载数据') # 替换为你的登录信息 username = 'your_username' password = 'your_password' download_data(username, password) ``` 上面的代码中,`login`函数用来模拟登录。我们需要将登录请求的URL和登录请求所需的数据替换为实际的值。登录成功后,`download_data`函数将发送数据下载请求,并将获取到的数据保存到本地的`data.txt`文件中。你也可以将下载请求的URL替换为你想要下载的实际数据的URL。 请注意,上述代码仅仅是一个简单的示例。实际情况中,你可能还需要处理登录失败、异常等情况,并根据具体需求进行相应的调整。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值