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 03 Python
按日期打印Python的Tornado框架中的日志的方法
May 02 Python
Python中map和列表推导效率比较实例分析
Jun 17 Python
Python编写一个闹钟功能
Jul 11 Python
python实现的MySQL增删改查操作实例小结
Dec 19 Python
Python构建图像分类识别器的方法
Jan 12 Python
Python修改文件往指定行插入内容的实例
Jan 30 Python
python生成器用法实例详解
Nov 22 Python
python爬取本站电子书信息并入库的实现代码
Jan 20 Python
python实现飞行棋游戏
Feb 05 Python
Python 中的Sympy详细使用
Aug 07 Python
使用scrapy实现增量式爬取方式
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
PHP 网络开发详解之远程文件包含漏洞
2010/04/25 PHP
thinkphp的dump函数无输出实例代码
2016/11/15 PHP
深入讲解PHP的对象注入(Object Injection)
2017/03/01 PHP
PHP设计模式(六)桥连模式Bridge实例详解【结构型】
2020/05/02 PHP
jquery.AutoComplete.js中文修正版(支持firefox)
2010/04/09 Javascript
js中parseFloat(参数1,参数2)定义和用法及注意事项
2013/01/27 Javascript
jQuery插件开发的两种方法及$.fn.extend的详解
2014/01/16 Javascript
jQuery中[attribute!=value]选择器用法实例
2014/12/31 Javascript
JavaScript基本的输出和嵌入式写法教程
2015/10/20 Javascript
Dropzone.js实现文件拖拽上传功能(附源码下载)
2016/11/22 Javascript
详解照片瀑布流效果(js,jquery分别实现与知识点总结)
2017/01/01 Javascript
vue使用技巧及vue项目中遇到的问题
2018/06/04 Javascript
[02:43]2014DOTA2国际邀请赛 官方Alliance战队纪录片
2014/07/14 DOTA
使用Python的web.py框架实现类似Django的ORM查询的教程
2015/05/02 Python
Python实现的下载网页源码功能示例
2017/06/13 Python
Python通过属性手段实现只允许调用一次的示例讲解
2018/04/21 Python
python多线程并发让两个LED同时亮的方法
2019/02/18 Python
Python pandas.DataFrame调整列顺序及修改index名的方法
2019/06/21 Python
在Django model中设置多个字段联合唯一约束的实例
2019/07/17 Python
Python代码实现http/https代理服务器的脚本
2019/08/12 Python
django-filter和普通查询的例子
2019/08/12 Python
Django url,从一个页面调到另个页面的方法
2019/08/21 Python
PyTorch实现更新部分网络,其他不更新
2019/12/31 Python
HTML5实现音频和视频嵌入的方法
2018/08/22 HTML / CSS
智能旅行箱:Horizn Studios
2018/04/30 全球购物
马来西亚奢侈品牌购物商城:Valiram 247
2020/09/29 全球购物
军校大学生个人的自我评价
2014/02/17 职场文书
2014年市场部工作总结
2014/11/25 职场文书
婚内分居协议书范文
2014/11/26 职场文书
教师节感谢信
2015/01/22 职场文书
大学生思想道德自我评价
2015/03/09 职场文书
债务纠纷起诉书
2015/05/20 职场文书
解决python存数据库速度太慢的问题
2021/04/23 Python
Apache Calcite 实现方言转换的代码
2021/04/24 Servers
修改MySQL的数据库引擎为INNODB的方法
2021/05/26 MySQL
postman中form-data、x-www-form-urlencoded、raw、binary的区别介绍
2022/01/18 HTML / CSS