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的re模块应用实例
Sep 26 Python
详解Python中内置的NotImplemented类型的用法
Mar 31 Python
详细解析Python中__init__()方法的高级应用
May 11 Python
Python使用matplotlib的pie函数绘制饼状图功能示例
Jan 08 Python
一篇文章读懂Python赋值与拷贝
Apr 19 Python
python使用tkinter库实现五子棋游戏
Jun 18 Python
PyQt使用QPropertyAnimation开发简单动画
Apr 02 Python
Tensorflow tf.tile()的用法实例分析
May 22 Python
Python astype(np.float)函数使用方法解析
Jun 08 Python
Python代码需要缩进吗
Jul 01 Python
Python学习笔记之装饰器
Aug 06 Python
Python实现播放和录制声音的功能
Aug 12 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
关于文本留言本的分页代码
2006/10/09 PHP
php中随机显示图片的函数代码
2011/06/23 PHP
PHP遍历目录并返回统计目录大小
2014/06/09 PHP
php+ajax实现无刷新分页
2015/11/18 PHP
PHP实用小技巧之调用录像的方法
2019/12/05 PHP
求解开jscript.encode代码的asp函数
2007/02/28 Javascript
jQuery ajax cache缓存问题
2010/07/01 Javascript
本地图片预览(支持IE6/IE7/IE8/Firefox3)经验总结
2013/03/25 Javascript
js自动下载文件到本地的实现代码
2013/04/28 Javascript
兼容ie、firefox的图片自动缩放的css跟js代码分享
2013/08/12 Javascript
jquery实现可拖拽弹出层特效
2015/01/04 Javascript
JavaScript操作Cookie方法实例分析
2015/05/27 Javascript
JavaScript识别网页关键字并进行描红的方法
2015/11/09 Javascript
整理JavaScript对DOM中各种类型的元素的常用操作
2016/05/05 Javascript
JavaScript浏览器对象之一Window对象详解
2016/06/03 Javascript
JavaScript从0开始构思表情插件
2016/07/26 Javascript
jQuery.ajax 跨域请求webapi设置headers的解决方案
2016/08/08 Javascript
jQuery实现最简单的切换图效果【可兼容IE6、火狐、谷歌、opera等】
2016/09/04 Javascript
Node.js查找当前目录下文件夹实例代码
2017/03/07 Javascript
Material(包括Material Icon)在Angular2中的使用详解
2018/02/11 Javascript
Vue 中使用富文本编译器wangEditor3的方法
2019/09/26 Javascript
Python中正则表达式的详细教程
2015/04/30 Python
Python cookbook(数据结构与算法)从序列中移除重复项且保持元素间顺序不变的方法
2018/03/13 Python
python利用小波分析进行特征提取的实例
2019/01/09 Python
python解释器pycharm安装及环境变量配置教程图文详解
2020/02/26 Python
Python递归函数特点及原理解析
2020/03/04 Python
Pythonic版二分查找实现过程原理解析
2020/08/11 Python
美国婚礼礼品网站:MyWeddingFavors
2018/09/26 全球购物
精彩的大学生自我评价
2013/11/17 职场文书
汽车专业大学生职业生涯规划范文
2014/01/07 职场文书
创先争优活动方案
2014/02/12 职场文书
高效课堂标语
2014/06/26 职场文书
2014年移动公司工作总结
2014/12/08 职场文书
2015小学语文教师个人工作总结
2015/05/20 职场文书
房屋质量投诉书
2015/07/02 职场文书
利用Nginx代理如何解决前端跨域问题详析
2021/04/02 Servers