python应用文件读取与登录注册功能


Posted in Python onSeptember 23, 2019

python应用文件读取与登录注册功能,具体实现代码如下所示:

#!/usr/bin/python3
# -*- coding: utf-8 -*-
# Author: zhw
#读取文件中的内容
def open_file(filename ,file_type , *args):
  #读取文件中的数据
  if file_type == 'r':
    flie_list = []
    with open(filename,file_type) as sub_all:
      for file_line in sub_all:
        flie_list.append(file_line.strip())
      #print(flie_list)
      return flie_list
  #读取文件中的用户号
  elif file_type == 'ru':
    flie_list = []
    with open(filename,'r') as sub_all:
      for file_line in sub_all:
        file_l = file_line.split('|')
        user_no = file_l[0]
        flie_list.append(user_no.strip())
      #print(flie_list)
      return flie_list
  #写入文件
  elif file_type == 'a+':
    data = args[0]
    with open(filename, file_type) as sub_all:
      sub_all.write(data +"\n")
  else:
    print('您输入的格式没有,请检查')
class User(object):
  def __init__(self, user_no, user_pw):
    self.user_no = user_no
    self.user_pw = user_pw
    self.file = 'login.log'
  @property
  #检查账号是否已经存在
  def check_user(self):
    flie_list = open_file(self.file, 'ru')
    if self.user_no in flie_list:
      return '1'
    else:
      return '0'
  #注册账号
  def regist(self):
    user_info = '%s|%s' % (self.user_no, self.user_pw)
    open_file(self.file, 'a+',user_info)
    #return'注册成功'
  #账号登录
  def login(self):
    flie_list = open_file(self.file, 'r')
    user_info = '%s|%s' % (self.user_no, self.user_pw)
    if user_info in flie_list:
      return '1'
    else:
      return '0'

def return_more(args):
  pass
#循环验证登录,循环注册账号
while True:
  print('请选择\n '
     '1. 注册\n'
     '2. 登录\n'
     '3. 退出')
  choose = input('请选择').strip()
  if choose == '1':
    for i in range(3):
      user_no = input('请输入注册账号:').strip()
      user_pw = ''
      user = User(user_no,user_pw)
      #检查用户号是否存在
      return_more = user.check_user
      if return_more == '0':
        user_pw = input('请输入注册密码:').strip()
        user = User(user_no, user_pw)
        return_more = user.regist()
        print(return_more)
        break
      else:
        print('您输入的账号已经存在,请选择其他账号')
    #print('您输入的错误次数太多,已退出!')
  elif choose == '2':
     for i in range(3):
       user_no = input('请输入登录账号:').strip()
       user_pw = input('请输入登录密码').strip()
       user = User(user_no, user_pw)
       #用户登录
       return_mk = user.login()
       if return_mk =='0':
         print("登录失败,请重新输入")
       else:
         print('登录成功')
         break
  elif choose == '3':
    break
  else:
    print('输入序号有无,请重新输入')

总结

以上所述是小编给大家介绍的python应用文件读取与登录注册功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Python 相关文章推荐
python转换摩斯密码示例
Feb 16 Python
pyqt4教程之实现半透明的天气预报界面示例
Mar 02 Python
Python Xml文件添加字节属性的方法
Mar 31 Python
python 内置模块详解
Jan 01 Python
2019 Python最新面试题及答案16道题
Apr 11 Python
Django网络框架之HelloDjango项目创建教程
Jun 06 Python
Django用户认证系统 组与权限解析
Aug 02 Python
pandas DataFrame行或列的删除方法的实现示例
Aug 02 Python
python输出数学符号实例
May 11 Python
一篇文章带你搞定Ubuntu中打开Pycharm总是卡顿崩溃
Nov 02 Python
用python批量下载apk
Dec 29 Python
python图像处理基本操作总结(PIL库、Matplotlib及Numpy)
Jun 08 Python
Python爬虫 urllib2的使用方法详解
Sep 23 #Python
Python 正则表达式爬虫使用案例解析
Sep 23 #Python
python处理document文档保留原样式
Sep 23 #Python
python 进程间数据共享multiProcess.Manger实现解析
Sep 23 #Python
python程序 线程队列queue使用方法解析
Sep 23 #Python
python程序 创建多线程过程详解
Sep 23 #Python
详解python播放音频的三种方法
Sep 23 #Python
You might like
DC动画很好看?新作烂得令人发指,名叫《红色之子》
2020/04/09 欧美动漫
PHP+MySQL5.0中文乱码解决方法
2006/11/20 PHP
javascript 年月日联动实现核心代码
2009/12/21 Javascript
Tinymce+jQuery.Validation使用产生的BUG
2010/03/29 Javascript
jquery.post用法关于type设置问题补充
2014/01/03 Javascript
用js传递value默认值的示例代码
2014/09/11 Javascript
jQuery制作简洁的多级联动Select下拉框
2014/12/23 Javascript
浅谈JavaScript中Date(日期对象),Math对象
2015/02/05 Javascript
关于JavaScript作用域你想知道的一切
2016/02/04 Javascript
深入理解JS中的substr和substring
2016/04/26 Javascript
超链接怎么正确调用javascript函数
2016/05/23 Javascript
js判断是否为空和typeof的用法(详解)
2016/10/07 Javascript
js表单登陆验证示例
2016/10/19 Javascript
获取当前月(季度/年)的最后一天(set相关操作及应用)
2016/12/27 Javascript
jQuery实现表格奇偶行显示不同背景色 就这么简单
2017/03/13 Javascript
JavaScript通过filereader接口读取文件
2017/05/10 Javascript
JavaScript动态创建二维数组的方法示例
2019/02/01 Javascript
axios+Vue实现上传文件显示进度功能
2019/04/14 Javascript
js将URL网址转为16进制加密与解密函数
2020/03/04 Javascript
Vuejs通过拖动改变元素宽度实现自适应
2020/09/02 Javascript
Vue3 响应式侦听与计算的实现
2020/11/11 Javascript
js属性对象的hasOwnProperty方法的使用
2021/02/05 Javascript
[02:29]DOTA2英雄基础教程 陈
2013/12/17 DOTA
[50:59]2018DOTA2亚洲邀请赛 4.7 总决赛 LGD vs Mineski第四场
2018/04/10 DOTA
[03:17]史诗级大片应援2018DOTA2国际邀请赛 致敬每一位坚守遗迹的勇士
2018/07/20 DOTA
pycharm下查看python的变量类型和变量内容的方法
2018/06/26 Python
python文件路径操作方法总结
2020/12/21 Python
给排水专业应届生求职信
2013/10/12 职场文书
医学院毕业生自荐信范文
2014/03/06 职场文书
创建青年文明号材料
2014/05/09 职场文书
2014年全国法制宣传日宣传活动方案
2014/11/02 职场文书
2014年小学英语教师工作总
2014/12/03 职场文书
历史博物馆观后感
2015/06/05 职场文书
学习习近平主席讲话心得体会
2016/01/20 职场文书
Python Flask请求扩展与中间件相关知识总结
2021/06/11 Python
Windows环境下实现批量执行Sql文件
2021/10/05 SQL Server