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 socket网络编程步骤详解(socket套接字使用)
Dec 06 Python
scrapy自定义pipeline类实现将采集数据保存到mongodb的方法
Apr 16 Python
python开发之thread线程基础实例入门
Nov 11 Python
Python 常用string函数详解
May 30 Python
python3.x上post发送json数据
Mar 04 Python
Python基于pycrypto实现的AES加密和解密算法示例
Apr 10 Python
flask框架使用orm连接数据库的方法示例
Jul 16 Python
pyspark.sql.DataFrame与pandas.DataFrame之间的相互转换实例
Aug 02 Python
使用Python的turtle模块画国旗
Sep 24 Python
python使用协程实现并发操作的方法详解
Dec 27 Python
Python异常处理机制结构实例解析
Jul 23 Python
python编写实现抽奖器
Sep 10 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读取ACCESS数据到MYSQL的代码
2011/05/11 PHP
php设计模式 DAO(数据访问对象模式)
2011/06/26 PHP
php笔记之:AOP的应用
2013/04/24 PHP
PHP防范SQL注入的具体方法详解(测试通过)
2014/05/09 PHP
PHP面向对象之后期静态绑定功能介绍
2015/05/18 PHP
PHP微信红包API接口
2015/12/05 PHP
JavaScript CSS修改学习第三章 修改样式表
2010/02/19 Javascript
url地址自动加#号问题说明
2010/08/21 Javascript
基于Jquery的淡入淡出的特效基础练习
2010/12/13 Javascript
jquery实现的图片点击滚动效果
2014/04/29 Javascript
jquery使用remove()方法删除指定class子元素
2015/03/26 Javascript
js实现显示当前状态的导航效果代码
2015/08/28 Javascript
javascript 将共享属性迁移到原型中去的实现方法
2016/08/31 Javascript
JavaScript面试题(指针、帽子和女朋友)
2016/11/23 Javascript
老生常谈jquery中detach()和remove()的区别
2017/03/02 Javascript
微信小程序访问node.js接口服务器搭建教程
2017/04/25 Javascript
vue 纯js监听滚动条到底部的实例讲解
2018/09/03 Javascript
vuex 解决报错this.$store.commit is not a function的方法
2018/12/17 Javascript
详解javascript设计模式三:代理模式
2019/03/25 Javascript
[06:16]《DAC最前线》之地区预选赛全面回顾
2015/01/19 DOTA
python内置函数:lambda、map、filter简单介绍
2017/11/16 Python
Python实现改变与矩形橡胶的线条的颜色代码示例
2018/01/05 Python
win10从零安装配置pytorch全过程图文详解
2020/05/08 Python
如何将json数据转换为python数据
2020/09/04 Python
python中的unittest框架实例详解
2021/02/05 Python
GUESS西班牙官方网上商城:美国服饰品牌
2017/03/15 全球购物
英国时尚饰品和发饰购物网站:Claire’s
2017/07/04 全球购物
奥林匹亚体育:Olympia Sports
2020/12/30 全球购物
路德维希•贝克(LUDWIG BECK)中文官网:德国大型美妆百货
2020/09/19 全球购物
电工实训报告总结
2014/11/05 职场文书
2014年宣传思想工作总结
2014/12/10 职场文书
倡议书范文大全
2015/04/28 职场文书
全民创业工作总结
2015/08/13 职场文书
Redis缓存-序列化对象存储乱码问题的解决
2021/06/21 Redis
win10输入法不见了只能打出字母怎么解决?
2022/08/05 数码科技
windows server2012 R2下安装PaddleOCR服务的的详细步骤
2022/09/23 Servers