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编写提取日志中的中文的脚本的方法
Apr 30 Python
解决PyCharm import torch包失败的问题
Oct 13 Python
python实现播放音频和录音功能示例代码
Dec 30 Python
python实现生成字符串大小写字母和数字的各种组合
Jan 01 Python
numpy.where() 用法详解
May 27 Python
Python3 Tkinter选择路径功能的实现方法
Jun 14 Python
基于Python的Post请求数据爬取的方法详解
Jun 14 Python
对django 模型 unique together的示例讲解
Aug 06 Python
如何通过Django使用本地css/js文件
Jan 20 Python
Python爬虫获取页面所有URL链接过程详解
Jun 04 Python
python 实现socket服务端并发的四种方式
Dec 14 Python
Numpy ndarray 多维数组对象的使用
Feb 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 xml文件操作代码(一)
2009/03/20 PHP
PHP动态页生成静态页的3种常用方法
2014/11/13 PHP
Apache无法自动跳转却显示目录的解决方法
2020/11/30 PHP
Laravel5.1 框架响应基本用法实例分析
2020/01/04 PHP
解决js中window.open弹出的是上次的缓存页面问题
2013/12/29 Javascript
JavaScript实现的图像模糊算法代码分享
2014/04/22 Javascript
Node.js 服务器端应用开发框架 -- Hapi.js
2014/07/29 Javascript
浅谈Javascript如何实现匀速运动
2014/12/19 Javascript
jQuery原生的动画效果
2015/07/10 Javascript
JS判断字符串字节数并截取长度的方法
2016/03/05 Javascript
JavaScript的函数式编程基础指南
2016/03/19 Javascript
利用jquery实现验证输入的是否是数字、小数,包含保留几位小数
2016/12/07 Javascript
bootstrap模态框嵌套、tabindex属性、去除阴影的示例代码
2017/10/17 Javascript
JS页面获取 session 值,作用域和闭包学习笔记
2019/10/16 Javascript
jQuery实现的解析本地 XML 文档操作示例
2020/04/30 jQuery
Nuxt默认模板、默认布局和自定义错误页面的实现
2020/05/11 Javascript
Vue3配置axios跨域实现过程解析
2020/11/25 Vue.js
[01:31](回顾)杀出重围,决战TI之巅
2014/07/01 DOTA
[04:29]2016国际邀请赛中国区预选赛Ehome战队教练采访
2016/06/27 DOTA
Python中函数参数设置及使用的学习笔记
2016/05/03 Python
对pandas读取中文unicode的csv和添加行标题的方法详解
2018/12/12 Python
Python中拆分字符串的操作方法
2019/07/23 Python
详解Matplotlib绘图之属性设置
2019/08/23 Python
Python 70行代码实现简单算式计算器解析
2019/08/30 Python
python cv2.resize函数high和width注意事项说明
2020/07/05 Python
naturalizer加拿大官网:美国娜然女鞋
2017/04/04 全球购物
ECCO英国官网:丹麦鞋履品牌
2019/09/03 全球购物
揠苗助长教学反思
2014/02/04 职场文书
公务员政审个人鉴定
2014/02/25 职场文书
担保书格式及范文
2014/04/01 职场文书
无偿献血倡议书
2014/04/14 职场文书
职业生涯规划书怎么写?
2014/09/14 职场文书
工程款催款函
2015/06/24 职场文书
化验室安全管理制度
2015/08/06 职场文书
幼儿教师远程研修感悟
2015/11/18 职场文书
无线电知识基础入门篇
2022/02/18 无线电