1. #
    # 一、实现用户注册功能
    # 思路:
    # 用户输入用户名、密码
    # 将用户输入的内容按照固定的格式,比如: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
  2.  
  3. # 二、实现用户验证功能更:
    # 思路:
    # 用户输入账号密码,从文件中读出账号密码,与用户输入的进行比对
    # 附加:新建黑名单文件,同一个账号名输错三次则将用户名写入黑名单文件中,
    # 如果用户输入的用户名存在于黑名单中则直接退出
  4.  
  5. # 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
  6.  
  7. # 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
  8.  

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. linux系统关闭IPv6的方式

    云服务器 ECS> Linux操作运维问题 > 应用配置 > linux系统关闭IPv6的方式 linux系统关闭IPv6的方式 IPv6被认为是IPv4的替代产品,它用来解决现有I ...

  2. HDU1199 动态线段树 // 离散化

    附动态线段树AC代码 http://acm.hdu.edu.cn/showproblem.php?pid=1199 因为昨天做了一道动态线段树的缘故,今天遇到了这题没有限制范围的题就自然而然想到了动态 ...

  3. 【Python】统计个人新浪微博词频并给出相应的柱状图

    Python爬虫视频教程零基础小白到scrapy爬虫高手-轻松入门 https://item.taobao.com/item.htm?spm=a1z38n.10677092.0.0.482434a6E ...

  4. CISCO知识扫盲

    cisco知识扫盲 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.vlan简介 1.什么是VLAN 简称虚拟局域网.至于英语怎么写自行百度吧. VLAN的优势: 1>.广 ...

  5. 获取当前操作系统的ip

    代码如下: #include "stdafx.h" #include <WinSock2.h> int get_local_ip() { WSADATA wsaData ...

  6. Code::Blocks代码自动提示设置及常用快捷键

    Code::Blocks代码自动提示设置及常用快捷键(适用windows和linux) 1)以下需要设置的地方均在Settings->Editor...弹出的对话框中. 2)不少命令都可针对当前 ...

  7. Spring 学习04

    一.上节内容回顾 1 基于aspectj的注解aop操作 2 spring的jdbcTemplate操作 (1)实现crud操作 - 添加.修改.删除update方法 - 查询 -- 查询某个值 qu ...

  8. XQuartz简介

    这是一个类似于中转的软件,比如现在在Mac上,YY语音还没有官方版的,但其实在Mac上,有了XQuartz就可以实现运行YY了,下载这个从Windows上移植过来的软件,然后打开的时候,Mac会提醒你 ...

  9. JS——取消事件冒泡,实现div的显示与隐藏 event.cancelBubble = true;

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  10. mysql 8.0 ~ 安装

    1 环境配置   wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.13-linux-glibc2.12-x86_64.tar. ...