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科学计算环境推荐——Anaconda
Jun 30 Python
Python实现保证只能运行一个脚本实例
Jun 24 Python
对python捕获ctrl+c手工中断程序的两种方法详解
Dec 26 Python
python实现一个简单的ping工具方法
Jan 31 Python
python获取交互式ssh shell的方法
Feb 14 Python
基于Django实现日志记录报错信息
Dec 17 Python
Python hashlib加密模块常用方法解析
Dec 18 Python
Python中的X[:,0]、X[:,1]、X[:,:,0]、X[:,:,1]、X[:,m:n]和X[:,:,m:n]
Feb 13 Python
python 中的paramiko模块简介及安装过程
Feb 29 Python
Python使用20行代码实现微信聊天机器人
Jun 05 Python
利用Opencv实现图片的油画特效实例
Feb 28 Python
python3实现无权最短路径的方法
May 12 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
sony ICF-2010 拆解与改装
2021/03/02 无线电
PHP4实际应用经验篇(6)
2006/10/09 PHP
PHP中对数据库操作的封装
2006/10/09 PHP
PHP 遍历XP文件夹下所有文件
2008/11/27 PHP
PHP判断上传文件类型的解决办法
2015/10/20 PHP
ThinkPHP实现登录退出功能
2017/06/29 PHP
SCP远程VPS快速搬家和WDCP升级php5.3安装memcached和eaccelerator教程
2017/07/27 PHP
Ajax::prototype 源码解读
2007/01/22 Javascript
8个实用的jQuery技巧
2014/03/04 Javascript
在jquery boxy中添加百度地图坐标拾取注意流程
2014/04/03 Javascript
利用yarn代替npm管理前端项目模块依赖的方法详解
2017/09/04 Javascript
vue集成百度UEditor富文本编辑器使用教程
2018/09/21 Javascript
Vue中的作用域CSS和CSS模块的区别
2018/10/09 Javascript
js序列化和反序列化的使用讲解
2019/01/19 Javascript
Vue data的数据响应式到底是如何实现的
2020/02/11 Javascript
关于angular浏览器兼容性问题的解决方案
2020/07/26 Javascript
Vue父组件监听子组件生命周期
2020/09/03 Javascript
python使用threading获取线程函数返回值的实现方法
2017/11/15 Python
用TensorFlow实现多类支持向量机的示例代码
2018/04/28 Python
Python pickle模块实现对象序列化
2019/11/22 Python
Pytorch之Variable的用法
2019/12/31 Python
python GUI库图形界面开发之PyQt5简单绘图板实例与代码分析
2020/03/08 Python
python实现opencv+scoket网络实时图传
2020/03/20 Python
在Python中使用K-Means聚类和PCA主成分分析进行图像压缩
2020/04/10 Python
Python虚拟环境venv用法详解
2020/05/25 Python
keras使用Sequence类调用大规模数据集进行训练的实现
2020/06/22 Python
Selenium Webdriver元素定位的八种常用方式(小结)
2021/01/13 Python
国际知名设计师时装商店:Coggles
2016/09/05 全球购物
美国摩托车头盔、零件、齿轮及配件商店:Cycle Gear
2019/06/12 全球购物
编程用JAVA解析XML的方式
2013/07/07 面试题
秋季运动会加油稿200字
2014/01/11 职场文书
我的动漫时代的创业计划书范文
2014/01/27 职场文书
大学生个人求职信
2014/06/02 职场文书
严以律己学习心得体会
2016/01/13 职场文书
springboot读取nacos配置文件
2022/05/20 Java/Android
win10输入法不见了只能打出字母怎么解决?
2022/08/05 数码科技