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笔记(2)
Oct 24 Python
python&MongoDB爬取图书馆借阅记录
Feb 05 Python
对python中raw_input()和input()的用法详解
Apr 22 Python
python自动发送邮件脚本
Jun 20 Python
对python调用RPC接口的实例详解
Jan 03 Python
python实现转圈打印矩阵
Mar 02 Python
pandas read_excel()和to_excel()函数解析
Sep 19 Python
Python中关于浮点数的冷知识
Sep 22 Python
Python如何输出整数
Jun 07 Python
浅析python中的del用法
Sep 02 Python
利用Python读取微信朋友圈的多种方法总结
Aug 23 Python
基于Python编写简易版的天天跑酷游戏的示例代码
Mar 23 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
php $_ENV为空的原因分析
2009/06/01 PHP
php中关于普通表单多文件上传的处理方法
2011/03/25 PHP
PHP实现绘制3D扇形统计图及图片缩放实例
2014/10/01 PHP
php实现比较两个文件夹异同的方法
2015/06/18 PHP
php版交通银行网银支付接口开发入门教程
2016/09/26 PHP
thinkphp关于简单的权限判定方法
2017/04/03 PHP
PHP实现简易计算器功能
2020/08/28 PHP
Javascript 汉字字节判断
2009/08/01 Javascript
使用JS进行目录上传(相当于批量上传)
2010/12/05 Javascript
Javascript中定义方法的另类写法(批量定义js对象的方法)
2011/02/25 Javascript
node.js中的fs.fchownSync方法使用说明
2014/12/16 Javascript
JavaScritp添加url参数并将参数加入到url中及更改url参数的方法
2015/10/26 Javascript
详解AngularJS中的http拦截
2016/02/09 Javascript
JS原型链 详解及示例代码
2016/09/06 Javascript
Bootstrap Table表格一直加载(load)不了数据的快速解决方法
2016/09/17 Javascript
bootstrap表单按回车会自动刷新页面的解决办法
2017/03/08 Javascript
关于使用js算总价的问题
2017/06/23 Javascript
安装vue-cli报错 -4058 的解决方法
2017/10/19 Javascript
ES6 Proxy实现Vue的变化检测问题
2019/06/11 Javascript
ES6 Promise对象的含义和基本用法分析
2019/06/14 Javascript
mock.js模拟前后台交互
2019/07/25 Javascript
通过实例解析JavaScript for in及for of区别
2020/06/15 Javascript
vue-video-player 断点续播的实现
2021/02/01 Vue.js
[04:45]DOTA2上海特级锦标赛主赛事第四日RECAP
2016/03/06 DOTA
Python实现的单向循环链表功能示例
2017/11/10 Python
Python实现的本地文件搜索功能示例【测试可用】
2018/05/30 Python
解决python字典对值(值为列表)赋值出现重复的问题
2019/01/20 Python
实例讲解HTML5的meta标签的一些应用
2015/12/08 HTML / CSS
为有想象力的人提供的生活方式商店:Firebox
2018/06/04 全球购物
应届毕业生求职自荐书
2014/01/03 职场文书
护理工作感言
2014/01/16 职场文书
社团活动总结报告
2014/06/27 职场文书
党员三严三实心得体会
2014/10/13 职场文书
学生抄作业检讨书(2篇)
2014/10/17 职场文书
基于Go Int转string几种方式性能测试
2021/04/28 Golang
Python 中面向接口编程
2022/05/20 Python