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 相关文章推荐
Windows系统配置python脚本开机启动的3种方法分享
Mar 10 Python
Python 专题二 条件语句和循环语句的基础知识
Mar 19 Python
python thrift搭建服务端和客户端测试程序
Jan 17 Python
python中的插值 scipy-interp的实现代码
Jul 23 Python
Python多进程池 multiprocessing Pool用法示例
Sep 07 Python
Python实现获取汉字偏旁部首的方法示例【测试可用】
Dec 18 Python
浅谈Scrapy网络爬虫框架的工作原理和数据采集
Feb 07 Python
numpy.random模块用法总结
May 27 Python
使用python 写一个静态服务(实战)
Jun 28 Python
python自动保存百度盘资源到百度盘中的实例代码
Aug 26 Python
python torch.utils.data.DataLoader使用方法
Apr 02 Python
如何用Python 实现全连接神经网络(Multi-layer Perceptron)
Oct 15 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递归函数三种实现方法及如何实现数字累加
2015/08/07 PHP
PHP简单判断手机设备的方法
2016/08/23 PHP
Dojo之路:如何利用Dojo实现Drag and Drop效果
2007/04/10 Javascript
一些不错的js函数ajax
2008/08/20 Javascript
JQuery实现用户名无刷新验证的小例子
2013/03/22 Javascript
js页面跳转的问题(跳转到父页面、最外层页面、本页面)
2013/08/14 Javascript
JavaScript支持的最大递归调用次数分析
2014/06/24 Javascript
javascript定时器完整实例
2015/02/10 Javascript
jquery实现点击变换导航样式的方法
2015/08/31 Javascript
js计算时间差代码【包括计算,天,时,分,秒】
2016/04/26 Javascript
js实现带农历和八字等信息的日历特效
2016/05/16 Javascript
关于JS与jQuery中的文档加载问题
2017/08/22 jQuery
Node.JS使用Sequelize操作MySQL的示例代码
2017/10/09 Javascript
修改UA在PC中访问只能在微信中打开的链接方法
2017/11/27 Javascript
JS+HTML5实现获取手机验证码倒计时按钮
2018/08/08 Javascript
Angular动态绑定样式及改变UI框架样式的方法小结
2018/09/03 Javascript
jQuery实现根据身份证号获取生日、年龄、性别等信息的方法
2019/01/09 jQuery
vue自定义switch开关组件,实现样式可自行更改
2019/11/01 Javascript
Vue的click事件防抖和节流处理详解
2019/11/13 Javascript
JavaScript实现10秒后再次获取验证码
2020/12/02 Javascript
Python 检查数组元素是否存在类似PHP isset()方法
2014/10/14 Python
Python urllib、urllib2、httplib抓取网页代码实例
2015/05/09 Python
Python实现多线程抓取妹子图
2015/08/08 Python
Tensorflow之构建自己的图片数据集TFrecords的方法
2018/02/07 Python
Django框架自定义模型管理器与元选项用法分析
2019/07/22 Python
Python3的高阶函数map,reduce,filter的示例详解
2019/07/23 Python
Python devel安装失败问题解决方案
2020/06/09 Python
Pandas缺失值2种处理方式代码实例
2020/06/13 Python
CSS3实现可爱的小黄人动画
2016/07/11 HTML / CSS
主管职责范文
2013/11/09 职场文书
高三英语教学反思
2014/01/13 职场文书
2015大学自主招生自荐信范文
2015/03/04 职场文书
2015初中团支部工作总结
2015/07/21 职场文书
莫言获奖感言(全文)
2015/07/31 职场文书
Pandas 数据编码的十种方法
2022/04/20 Python
vue elementUI批量上传文件
2022/04/26 Vue.js