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编码/文件读取/多线程 个人笔记~~记录才有成长 编码/文件读取/多线程 编码 常用的一般是gbk.utf-8,而在python中字符串一般是用Unicode来操作,这样才能按照单个字 ...
- python大文件读取
python大文件读取 https://stackoverflow.com/questions/8009882/how-to-read-a-large-file-line-by-line-in-pyt ...
- Python: 读文件,写文件
读写文件是最常见的IO操作.Python内置了读写文件的函数. 读写文件前,我们先了解一下,在磁盘上读写文件的功能都是有操作系统提供的,现代操作系统不允许普通的程序直接操作磁盘,所以,读写文件就是请求 ...
- python .dcm文件读取,并转化为.jpg格式
.dcm文件是DICOM(Digital Imaging and Communications in Medicine)即医学数字成像和通信中记录医学图像和相关信息的文件,在用于医学图像处理的时候我们 ...
- python 用装饰器写登录
# 1.编写装饰器,为多个函数加上认证的功能(用户的账号密码来源于文件), # 要求登录成功一次,后续的函数都无需再输入用户名和密码 # FLAG = False # def login(func): ...
- 微信小程序开发:python+sanic 实现小程序登录注册
开发微信小程序时,接入小程序的授权登录可以快速实现用户注册登录的步骤,是快速建立用户体系的重要一步.这篇文章将介绍 python + sanic + 微信小程序实现用户快速注册登录全栈方案. 微信小程 ...
- Python txt文件读取写入字典的方法(json、eval)
link:https://blog.csdn.net/li532331251/article/details/78203438 一.使用json转换方法 1.字典写入txt import json d ...
- python tips:文件读取——换行符的问题
问题:在windows系统中,换行的符号是'\r\n'.python在读文件的时候为了系统兼容,会默认把'\r','n','\r\n'都视作换行.但是在windows文件中,可能在同一行中同时存在'\ ...
- 用python实现文件读取和内容替换
infile = open("D:/test.txt", "r") #打开文件 outfile = open("D:/pp2.txt", & ...
随机推荐
- 0809NOIP模拟测试赛后总结
终于有点脸单独建一个随笔写一下考试总结了…… T1一眼组合数学,推了一会儿式子发现恐怕是容斥.突然害怕,于是开始大力dp. 然后骗了70分走人hhh. T2挂了……又读错题了……以为必须相邻,然后就原 ...
- 【Uva 10003】Cutting Sticks
[Link]: [Description] 给你一根长度为l的棍子; 然后有n个切割点; 要求在每个切割点都要切割一下; 这样,最后就能形成n+1根小棍子了; 问你怎样切割,消耗的体力最小; 认为,消 ...
- 杂项-公司:Amazon
ylbtech-杂项-公司:Amazon 亚马逊公司(Amazon,简称亚马逊:NASDAQ:AMZN),是美国最大的一家网络电子商务公司,位于华盛顿州的西雅图.是网络上最早开始经营电子商务的公司之一 ...
- python 之 heapq (堆)
堆的实现通过构造二叉堆,实为二叉树的一种:这种数据结构具有以下性质: 任意节点小于(或大于)它的后裔,最小元(或最大元)在堆的根上 堆总是一颗完整树.即除了最低层,其它层的节点都被元素填满,且最低层极 ...
- vue swiper点击后返回不能自动播放
解决方法: 在返回时重新开启轮播 组件中: <swiper :options="swiperOption" ref="mySwiper" :class=& ...
- Luogu P2272 [ZJOI2007]最大半连通子图(Tarjan+dp)
P2272 [ZJOI2007]最大半连通子图 题意 题目描述 一个有向图\(G=(V,E)\)称为半连通的\((Semi-Connected)\),如果满足:\(\forall u,v\in V\) ...
- fstream文件打开模式
fstream:对于文件的操作很久两年前就开始使用了,但是仅仅为了达到满足自己需求的目的,就是要么是写,要么是读.从来没有对其进行详细的了解.自己也曾经想过花一点时间去总结一下,这个东西到底应该怎么用 ...
- odoo many2one
在xml中使many2one字段 不可点击 不可跳转 options="{'no_open': True, 'no_create': True}"
- 吴恩达《机器学习》课程总结(18)_照片OCR
18.1问题描述和流程图 (1)图像文字识别是从给定的一张图片中识别文字. (2)流程包括: 1.文字侦测 2.字符切分(现在不需要切分了) 3.字符分类 18.2滑动窗口 在行人检测中,滑动窗口是首 ...
- python基础---递归函数真题解析
方法一.有如下值集合 [11,22,33,44,55,66,77,88,99,90...],将所有大于 66 的值保存至字典的第一个key中,将小于 66 的值保存至第二个key的值中. 即: {'k ...