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中base64加密解密方法实例分析
May 16 Python
Python找出文件中使用率最高的汉字实例详解
Jun 03 Python
django基础之数据库操作方法(详解)
May 24 Python
Python3学习urllib的使用方法示例
Nov 29 Python
Python在图片中插入大量文字并且自动换行
Jan 02 Python
python 使用pandas计算累积求和的方法
Feb 08 Python
python2爬取百度贴吧指定关键字和图片代码实例
Aug 14 Python
django在保存图像的同时压缩图像示例代码详解
Feb 11 Python
Python图像处理库PIL的ImageDraw模块介绍详解
Feb 26 Python
python 实时调取摄像头的示例代码
Nov 25 Python
Python3+Flask安装使用教程详解
Feb 16 Python
python_tkinter事件类型详情
Mar 20 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
php5 mysql分页实例代码
2008/04/10 PHP
使用VisualStudio开发php的图文设置方法
2010/08/21 PHP
PHP学习之数组值的操作
2011/04/17 PHP
php中全局变量global的使用演示代码
2011/05/18 PHP
基于PHP导出Excel的小经验 完美解决乱码问题
2013/06/10 PHP
用PHP代码在网页上生成图片
2015/07/01 PHP
Ajax PHP JavaScript MySQL实现简易无刷新在线聊天室
2016/08/17 PHP
SyntaxHighlighter代码加色使用方法
2008/09/07 Javascript
Javascript Math对象
2009/08/13 Javascript
Jquery插件 easyUI属性汇总
2011/01/19 Javascript
JavaScript使用focus()设置焦点失败的解决方法
2014/09/03 Javascript
jQuery选择id属性带有点符号元素的方法
2015/03/17 Javascript
JS简单限制textarea内输入字符数量的方法
2015/10/14 Javascript
使用jQuery的easydrag插件实现可拖动的DIV弹出框
2016/02/19 Javascript
JavaScript学习笔记之数组求和方法
2016/03/23 Javascript
jquery实现ajax加载超时提示的方法
2016/07/23 Javascript
JS常见疑难点分析之match,charAt,charCodeAt,map,search用法分析
2016/12/25 Javascript
jQuery如何跳转到另一个网页 就这么简单
2016/12/28 Javascript
Highcharts+NodeJS搭建数据可视化平台示例
2017/01/01 NodeJs
jquery easyui DataGrid简单示例
2017/01/23 Javascript
js 递归和定时器的实例解析
2017/02/03 Javascript
Bootstrap面板学习使用
2017/02/09 Javascript
AngularJS实现进度条功能示例
2017/07/05 Javascript
对vue 键盘回车事件的实例讲解
2018/08/25 Javascript
[04:45]DOTA2上海特级锦标赛主赛事第四日RECAP
2016/03/06 DOTA
基于Python实现对PDF文件的OCR识别
2016/08/05 Python
JSON Web Tokens的实现原理
2017/04/02 Python
python实现按首字母分类查找功能
2019/10/31 Python
Python csv文件的读写操作实例详解
2019/11/19 Python
html5教程调用绘图api画简单的圆形代码分享
2013/12/04 HTML / CSS
canvas小画板之平滑曲线的实现
2020/08/12 HTML / CSS
365 Tickets英国:全球景点门票
2019/07/06 全球购物
遗失说明具结保证书
2015/02/26 职场文书
简单的辞职信范文(2016最新版)
2015/05/12 职场文书
MySQL中in和exists区别详解
2021/06/03 MySQL
Vue实现导入Excel功能步骤详解
2021/07/03 Vue.js