# 注册:
# 1、账号、密码存到文件
# 2、判断输入是否为空
# 3、校验用户是否存在
# 4、用户名和密码长度在6-12位之间
#将文件读取到字典中
def get_users():
f = open('1.txt', 'r', encoding='UTF-8')
user = {}
f.seek(0)
for line in f:
if line != '': #排除行为空的情况
key,value = line.strip().split(',')
user[key] = value
f.close()
return user
user = get_users()
print(user)
for i in range(3):
user_name = input('请输入用户名:').strip()
psw = input('请输入密码:').strip()
psw2 = input('确认密码:').strip()
if user_name in user.keys(): #获取键值对中的key
print('用户名已存在')
elif len(user_name) > 12 or len(user_name) < 6 or len(psw) > 12 or len(psw) < 6 or len(psw2) > 12 or len(psw2) < 6:
print('用户名或密码长度有误')
elif psw2 != psw:
print('两次输入密码不同')
elif i == 2:
print('机会已用完')
else:
user[user_name] = psw
f = open('1.txt', 'w+', encoding='UTF-8')
for key in user:
f.write(key)
f.write(',')
f.write(user[key])
f.write('\n')
f.close()
f = open('1.txt', 'r', encoding='UTF-8')
print(f.read())
f.close() # 登录:
# 1、最多错误3次
# 2、判断输入是否为空
# 3、校验用户是否存
# 4、用户名登录的时候不区分大小写
for i in range(3):
username = input('请输入用户名').strip()
password = input('请输入密码').strip()
if len(username) == 0 or len(password) == 0:
print('存在必填项为空')
elif username not in user.keys():
print('用户名或密码错误')
elif password != user[username]:
print('用户名或密码错误')
else:
print('恭喜你,登录成功'+username) #非空即真 非零即真

python 文件练习的更多相关文章

  1. Linux下Python 文件内容替换脚本

    Linux下Python 文件替换脚本 import sys,os if len(sys.argv)<=4: old_text,new_text = sys.argv[1],sys.argv[2 ...

  2. 【Python文件处理】递归批处理文件夹子目录内所有txt数据

    因为有个需求,需要处理文件夹内所有txt文件,将txt里面的数据筛选,重新存储. 虽然手工可以做,但想到了python一直主张的是自动化测试,就想试着写一个自动化处理数据的程序. 一.分析数据格式 需 ...

  3. Python文件使用“wb”方式打开,写入内容

    Python文件使用"wb"方式打开,写入字符串会报错,因为这种打开方式为:以二进制格式打开一个文件只用于写入.如果该文件已存在则将其覆盖.如果该文件不存在,创建新文件. 所以写入 ...

  4. Python 文件操作函数

    这个博客是 Building powerful image classification models using very little data 的前期准备,用于把图片数据按照教程指示放到规定的文 ...

  5. python文件I/O(转)

    Python 文件I/O 本章只讲述所有基本的的I/O函数,更多函数请参考Python标准文档. 打印到屏幕 最简单的输出方法是用print语句,你可以给它传递零个或多个用逗号隔开的表达式.此函数把你 ...

  6. python 文件操作总结

    Python 文件I/O 本章只讲述所有基本的的I/O函数,更多函数请参考Python标准文档. 打印到屏幕 最简单的输出方法是用print语句,你可以给它传递零个或多个用逗号隔开的表达式.此函数把你 ...

  7. Python基础篇【第2篇】: Python文件操作

    Python文件操作 在Python中一个文件,就是一个操作对象,通过不同属性即可对文件进行各种操作.Python中提供了许多的内置函数和方法能够对文件进行基本操作. Python对文件的操作概括来说 ...

  8. python文件和元组

    python文件操作 相较于java,Python里的文件操作简单了很多 python 获取当前文件所在的文件夹: os.path.dirname(__file__) 写了一个工具类,用来在当前文件夹 ...

  9. Python文件基础

    ===========Python文件基础========= 写,先写在了IO buffer了,所以要及时保存 关闭.关闭会自动保存. file.close() 读取全部文件内容用read,读取一行用 ...

  10. python文件打包格式,pip包管理

    1..whl是python文件的一种打包格式, 在有些情况下,可以将文件的后缀名改为.zip并解压 2.cmd中,提示pip版本太低,先升级pip   pip install --upgrade pi ...

随机推荐

  1. Spring Boot2(003):简要回顾“HelloWorld” web 工程

    1.注解: @RestController 和 @RequestMapping HelloWorldExample 中的第1个注解 @RestController 是一个被熟知的原型注解(stereo ...

  2. Java 逆序打印链表

    递归 package cookie; public class PrintListReversal { public void reversalOut(Node head) { if (head != ...

  3. mysql 统计值为NULL不为0的问题

    今天在写一个接口的时候是要统计数据,但是突然发现报错,类型不匹配的问题,我返回的是Int类型的为啥会类型不匹配呢,真的是奇怪 然后把代码丢到正式环境里面运行一下,发现值为null 一下子就傻眼了,不可 ...

  4. 【剑指Offer】面试题05.替换空格

    题目 请实现一个函数,把字符串 s 中的每个空格替换成"%20". 示例 1: 输入:s = "We are happy." 输出:"We%20are ...

  5. Vuex基本介绍

    1.什么是Vuex Vuex是一个专为vue.js应用程序开发的状态管理模式. 状态管理:data里面的变量都是vue的状态. 2.为什么要用Vuex 当我们构建一个中大型的单页面应用程序时,Vuex ...

  6. P 1015 德才论

    转跳点:

  7. 14 ~ express ~ 显示用户数据

    一,router/admin.js var express = require('express') var router = express.Router() var User = require( ...

  8. unique constraint(PD.HSI_RIGHT) violated

    插入时报错,原因:唯一约束重复了.... 查看表中有唯一约束的列是不是已经有值了 果然,唯一约束有两条重复的记录. ------------------------------------------ ...

  9. Android中时间戳的详细解释

    Android中时间戳的详细解释: (1).定义: 时间戳就是根据当前系统时间生成的一组随机数字. (2).作用: 作为对数据唯一性的一种判断依据.避免了重复修改数据所带来的错误! (3).应用: ( ...

  10. 一个PHP的SQL注入完整过程

    本篇文章介绍的内容是一个PHP的SQL注入完整过程,现在分享给大家,有需要的朋友可以参考一下 希望帮助到大家,很多PHPer在进阶的时候总会遇到一些问题和瓶颈,业务代码写多了没有方向感,不知道该从那里 ...