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目录操作之python遍历文件夹后将结果存储为xml
Jan 27 Python
Python中对元组和列表按条件进行排序的方法示例
Nov 10 Python
python list排序的两种方法及实例讲解
Mar 20 Python
Python数据结构与算法之图的广度优先与深度优先搜索算法示例
Dec 14 Python
使用Anaconda3建立虚拟独立的python2.7环境方法
Jun 11 Python
Python Django基础二之URL路由系统
Jul 18 Python
Python时间序列缺失值的处理方法(日期缺失填充)
Aug 11 Python
Flask框架学习笔记之消息提示与异常处理操作详解
Aug 15 Python
解决pycharm中导入自己写的.py函数出错问题
Feb 12 Python
Python unittest单元测试框架实现参数化
Apr 29 Python
Python CSS选择器爬取京东网商品信息过程解析
Jun 01 Python
什么是python的必选参数
Jun 21 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
ThinkPHP中自定义目录结构的设置方法
2014/08/15 PHP
php数组去除空值函数分享
2015/02/02 PHP
PHP回调函数简单用法示例
2019/05/08 PHP
Javascript常用运算符(Operators)-javascript基础教程
2007/12/14 Javascript
jQuery多级弹出菜单插件ZoneMenu
2014/12/18 Javascript
28个常用JavaScript方法集锦
2015/01/14 Javascript
JS实现自动切换文字的导航效果代码
2015/08/27 Javascript
JS动态日期时间的获取方法
2015/09/28 Javascript
Jquery插件之Fancybox丰富的弹出层效果附源码下载
2015/12/02 Javascript
Active控件问题小结(附解决办法)
2016/06/09 Javascript
jQuery实现的仿百度,仿谷歌搜索下拉框效果示例
2016/12/30 Javascript
Nodejs 发送Post请求功能(发短信验证码例子)
2017/02/09 NodeJs
Nodejs中使用phantom将html转为pdf或图片格式的方法
2017/09/18 NodeJs
JS实现的3des+base64加密解密算法完整示例
2018/05/18 Javascript
微信小程序获取用户绑定手机号方法示例
2019/07/21 Javascript
iview form清除校验状态的实现
2019/09/19 Javascript
Vue组件基础用法详解
2020/02/05 Javascript
原生js实现照片墙效果
2020/10/13 Javascript
[46:04]Liquid vs VP Supermajor决赛 BO 第四场 6.10
2018/07/05 DOTA
Python多线程编程(七):使用Condition实现复杂同步
2015/04/05 Python
python使用Queue在多个子进程间交换数据的方法
2015/04/18 Python
Python数组定义方法
2016/04/13 Python
python判断计算机是否有网络连接的实例
2018/12/15 Python
python类的实例化问题解决
2019/08/31 Python
python 实现多线程下载m3u8格式视频并使用fmmpeg合并
2019/11/15 Python
Numpy中的数组搜索中np.where方法详细介绍
2021/01/08 Python
英国著名音像制品和图书游戏购物网站:Zavvi
2016/08/04 全球购物
美国大尺码女装零售商:TORRID
2016/10/01 全球购物
新西兰领先的内衣店:Bendon Lingerie新西兰
2018/07/11 全球购物
bonprix匈牙利:女士、男士和儿童服装
2019/07/19 全球购物
销售演讲稿范文
2014/01/08 职场文书
网络工程专业自荐信范文
2014/03/16 职场文书
解除劳动合同协议书
2014/09/17 职场文书
四风之害观后感
2015/06/09 职场文书
烈士陵园扫墓感想
2015/08/07 职场文书
mongodb的安装和开机自启动详细讲解
2021/08/02 MongoDB