PYTHON-文件处理-练习
#
# 一、实现用户注册功能
# 思路:
# 用户输入用户名、密码
# 将用户输入的内容按照固定的格式,比如:egon:123,存入文件
# 可以往一个文件中重复注册新的用户名和密码
# 附加:
# 1、对输入的用户名进行合法性监测,不能以数字开头,且如果输入的用户名已存在于文件中则要求用户重新输入
# 2、对输入的密码进行合法性监测,密码的长度至少6位,并且不能包含特殊字符*&$
# y=[]
# print('注册请填写以下信息')
# tag=True
# with open(r'db.txt', mode='rt', encoding='utf-8')as x:
# for data_name in x:
# d_name = data_name.strip('\n').split(':')
# y.append(d_name[0])
# # print(y)
# while tag:
# name = input('username>>>').strip()
# if name[0].isdigit():
# print('不能以数字开头,请重新输入')
# continue
# if name in y:
# print('已被注册,请重新输入')
# continue
# while tag:
# pwd = input('password>>>').strip()
# if len(pwd)<6:
# print('密码的长度至少6位')
# continue
# if pwd.find('$') != -1:
# print('不能包含特殊字符*&$')
# continue
# else: print('注册成功')
# with open(r'db.txt', mode='at', encoding='utf-8')as f:
# data = '%s:%s\n' % (name, pwd)
# f.write(data)
# tag = False # 二、实现用户验证功能更:
# 思路:
# 用户输入账号密码,从文件中读出账号密码,与用户输入的进行比对
# 附加:新建黑名单文件,同一个账号名输错三次则将用户名写入黑名单文件中,
# 如果用户输入的用户名存在于黑名单中则直接退出 # y=[]
# z=[]
# b=[]
# tag=True
# count=0
# with open(r'db.txt', mode='rt', encoding='utf-8')as x,open(r'black.txt', mode='rt', encoding='utf-8')as a:
# for data_name in x:
# d_name = data_name.strip('\n').split(':')
# y.append(d_name[0])
# z.append(d_name[1])
# for data_black_name in a:
# b_name = data_black_name.strip('\n')
# b.append(b_name)
# while tag:
# name=input('username>>>').strip()
# if name in b:
# print('黑名单用户')
# break
# if name not in y:
# print('用户名不存在')
# continue
# while tag:
# pwd = input('password>>>').strip()
# if count>=2:
# print('输错三次,已列为黑名单')
# with open(r'black.txt',mode='at',encoding='utf-8') as f:
# f.write('%s\n' %name)
# tag = False
# break
# if pwd not in z:
# print('密码不存在')
# count+=1
# else:
# print('登录成功')
# tag=False # y=[]
# z=[]
# b=[]
# tag=True
# count=0
# with open(r'db.txt', mode='rt', encoding='utf-8')as x,open(r'black.txt', mode='rt', encoding='utf-8')as a:
# for data_name in x:
# d_name = data_name.strip('\n').split(':')
# y.append(d_name[0])
# z.append(d_name)
# print(z)
# for data_black_name in a:
# b_name = data_black_name.strip('\n')
# b.append(b_name)
# while tag:
# name=input('username>>>').strip()
# if name in b:
# print('黑名单用户')
# break
# if name not in y:
# print('用户名不存在')
# continue
# while tag:
# pwd = input('password>>>').strip()
# if count>2:
# print('输错三次,已列为黑名单')
# with open(r'black.txt',mode='at',encoding='utf-8') as f:
# f.write('%s\n' %name)
# tag = False
# break
# if [name,pwd] not in z:
# print('密码不存在')
# count+=1
# else:
# print('登录成功')
# tag=False
PYTHON-文件处理-练习的更多相关文章
- Linux下Python 文件内容替换脚本
Linux下Python 文件替换脚本 import sys,os if len(sys.argv)<=4: old_text,new_text = sys.argv[1],sys.argv[2 ...
- 【Python文件处理】递归批处理文件夹子目录内所有txt数据
因为有个需求,需要处理文件夹内所有txt文件,将txt里面的数据筛选,重新存储. 虽然手工可以做,但想到了python一直主张的是自动化测试,就想试着写一个自动化处理数据的程序. 一.分析数据格式 需 ...
- Python文件使用“wb”方式打开,写入内容
Python文件使用"wb"方式打开,写入字符串会报错,因为这种打开方式为:以二进制格式打开一个文件只用于写入.如果该文件已存在则将其覆盖.如果该文件不存在,创建新文件. 所以写入 ...
- Python 文件操作函数
这个博客是 Building powerful image classification models using very little data 的前期准备,用于把图片数据按照教程指示放到规定的文 ...
- python文件I/O(转)
Python 文件I/O 本章只讲述所有基本的的I/O函数,更多函数请参考Python标准文档. 打印到屏幕 最简单的输出方法是用print语句,你可以给它传递零个或多个用逗号隔开的表达式.此函数把你 ...
- python 文件操作总结
Python 文件I/O 本章只讲述所有基本的的I/O函数,更多函数请参考Python标准文档. 打印到屏幕 最简单的输出方法是用print语句,你可以给它传递零个或多个用逗号隔开的表达式.此函数把你 ...
- Python基础篇【第2篇】: Python文件操作
Python文件操作 在Python中一个文件,就是一个操作对象,通过不同属性即可对文件进行各种操作.Python中提供了许多的内置函数和方法能够对文件进行基本操作. Python对文件的操作概括来说 ...
- python文件和元组
python文件操作 相较于java,Python里的文件操作简单了很多 python 获取当前文件所在的文件夹: os.path.dirname(__file__) 写了一个工具类,用来在当前文件夹 ...
- Python文件基础
===========Python文件基础========= 写,先写在了IO buffer了,所以要及时保存 关闭.关闭会自动保存. file.close() 读取全部文件内容用read,读取一行用 ...
- python文件打包格式,pip包管理
1..whl是python文件的一种打包格式, 在有些情况下,可以将文件的后缀名改为.zip并解压 2.cmd中,提示pip版本太低,先升级pip pip install --upgrade pi ...
随机推荐
- 通过url传递参数如果汉字乱码采用的方法
urlCodeDeal 方法把汉字编码, 在Jsp界面通过Escape.unescape方法,将编码反编译成汉字. 下面是urlCodeDeal方法: //UrlCode 处理代码 function ...
- mysql 删除以某字符串开头的表
Select 'SET FOREIGN_KEY_CHECKS = 0;'unionSelect CONCAT( 'drop table ', table_name, ';' )FROM informa ...
- 获取Methods成员方法类
位于java.lang.reflect.Method包中 getModifiers() 成员方法的修饰符 getName() 成员方法的名字 getReturnType() 成员方法的声明类型 get ...
- Hadoop基础-完全分布式模式部署yarn日志聚集功能
Hadoop基础-完全分布式模式部署yarn日志聚集功能 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 其实我们不用配置也可以在服务器后台通过命令行的形式查看相应的日志,但为了更方 ...
- PHP composer-setup安装遇到的openssl extension is missing
问题描述: 安装完成php-7.1.17后,安装composer出现以下错误 [root@localhost src]# curl -sS https://getcomposer.org/instal ...
- windows安装zabbix监控
在windows下安装zabbix agent,方法非常简单. 首先到zabbix官方下载windows版本agent,地址:http://www.zabbix.com/download.php,找到 ...
- sql 各种常用函数
1.stuff函数 替换制定字符串 stuff(,,'许嵩') 结果: 最帅的许嵩最帅的我 2.replace函数 select replace('蜀云泉真是帅啊','蜀云泉','许嵩') 结果: 许 ...
- SpringJMS解析--监听器
消息监听器容器是一个用于查看JMS目标等待消息到达的特殊bean,一旦消息到达它就可以获取到消息,并通过调用onMessage()方法将消息传递给一个MessageListener实现.Spring中 ...
- HDU - 3980 Paint Chain(SG函数)
https://vjudge.net/problem/HDU-3980 题意 一串长度为n的柱子,每个人只能给连续的珠子涂色,涂过的不能再涂,不能涂的人就输了,问最后谁获胜. 分析 第一个人先涂m个, ...
- Linux - svn 操作
--force # 强制覆盖 /usr/bin/svn --username user --password passwd co $Code ${SvnPath}src/ # 检出整个项目 /usr/ ...