# coding = UTF-8           注释格式

import datetime        引用日期

today = datetime.datetime.today().strftime("%Y-%m-%d %H:%M:%S")  # 获取到今天的日期,并限定日期格式

# 错误次数3次
for i in range(3): username = input('请输入你的用户名:').strip()   去除输入值中的空格
passwd = input('请输入你的密码:').strip()
cpasswd = input('请再次输入你的密码:').strip() file = open('newname.txt','r',encoding='utf-8') 打开文件,文件与运行代码在同意目录时不用加绝对路径,执行文件显示格式
                                    r只读 r+读写 ; 指针在文件开始
                                    w写 w+写读 ; 创建,覆盖,指针在文件开始
                                    a追加写入不可读 a+追加写入 ; 创建 指针在文件尾
                                     根据文件指针判断是否加“file.seek(0)”,将指针移到文件开始位置  
done = 0
data = {}                            定义一个字典
while not done:                        循环读取每一行,若为空则退出循环
aLine = file.readline()
if(aLine != ''):
#print(aLine)
bline = aLine.split(',')              将读取的值根据‘,’切割
#print(bline)
# k=bline[0]
# v=bline[1]
# print(k)
# print(v)
data[bline[0]]=bline[1].strip('\n')        将读取到的k,v形式存入data字典
#data.setdefault(bline)
else:
done = 1
file.close() #关闭文件
#print(data) if not username or not passwd or not cpasswd:          
print('账号或密码不能为空,请重新输入:')              
# 判断账号密码是否为空                      
elif username in data:
print('账号已注册,请登录!')
# 判断账号是否已存在
elif passwd != cpasswd:
print('密码不一致,请重新输入')
# 判断密码是否一致
elif len(passwd) < 6 or len(passwd) > 12:
print("密码长度必须6-12位")
# 判断密码长度
else: reg = open('newname.txt','a+',encoding='utf-8')          打开文件准备追加输入
# users = [username,passwd]
users =username+','+passwd+'\n'                    拼接数据加上换行符号
#print(users)
#users_s = [str(n) for n in users]                  
reg.writelines(users)                          将users拼接数据写入文件
reg.seek(0)                                将指针放置初始位置,查看是否写入成功
#print('read',reg.readlines())
reg.close()
# users.append(username)
# passwd.append(passwd)
print('恭喜%s注册成功,今天的日期是%s' % (username, today))
break
# 注册成功,退出

python写注册的更多相关文章

  1. Python写各大聊天系统的屏蔽脏话功能原理

    Python写各大聊天系统的屏蔽脏话功能原理 突然想到一个视频里面弹幕被和谐的一满屏的*号觉得很有趣,然后就想用python来试试写写看,结果还真玩出了点效果,思路是首先你得有一个脏话存放的仓库好到时 ...

  2. python写一个邮箱伪造脚本

    前言: 原本打算学php MVC的思路然后写一个项目.但是贼恶心, 写不出来.然后就还是用python写了个邮箱伪造. 0x01 第一步先去搜狐注册一个邮箱 然后,点开设置,开启SMTP服务. 当然你 ...

  3. 用python写windows服务

    用python写windows服务(1) 以python2.5 为例需要软件 * python 2.5        * pywin32(与2.5 版本相匹配的) Service Control Ma ...

  4. 用python 写一个nagios插件 监控http内容(转载)

     nagios自带的http-check插件主要是检测地址url是否可以访问,在web+中间件的架构中容易出现url能访问,但是后台中间件拓机的情况,因为最近在自学python,所以写了个脚本检测ur ...

  5. 用python写网路爬虫 PDF高清完整版免费下载 Python基础教程免费电子书 python入门书籍免费下载

    <用python写网路爬虫PDF免费下载>PDF书籍下载 内容简介 作为一种便捷地收集网上信息并从中抽取出可用信息的方式,网络爬虫技术变得越来越有用.使用Python这样的简单编程语言,你 ...

  6. Python写的微服务如何融入Spring Cloud体系?

    前言 在今天的文章中小码哥将会给大家分享一个目前工作中遇到的一个比较有趣的案例,就是如何将Python写的微服务融入到以Java技术栈为主的Spring Cloud微服务体系中?也许有朋友会有疑问,到 ...

  7. python写红包的原理流程包含random,lambda其中的使用和见简单介绍

    Python写红包的原理流程 首先来说说要用到的知识点,第一个要说的是扩展包random,random模块一般用来生成一个随机数 今天要用到ramdom中unifrom的方法用于生成一个指定范围的随机 ...

  8. Python写地铁的到站的原理简易版

    Python地铁的到站流程及原理(个人理解) 今天坐地铁看着站牌就莫名的想如果用Python写其工作原理 是不是很简单就小试牛刀了下大佬们勿喷纯属小弟个人理解 首先来看看地铁上显示的站牌如下: 就想这 ...

  9. 用Python写一个简单的Web框架

    一.概述 二.从demo_app开始 三.WSGI中的application 四.区分URL 五.重构 1.正则匹配URL 2.DRY 3.抽象出框架 六.参考 一.概述 在Python中,WSGI( ...

随机推荐

  1. PHP大神必须养成的十大优良习惯

    1.多阅读手册和源代码 没什么比阅读手册更值得强调的事了–仅仅通过阅读手册你就可以学习到很多东西,特别是很多有关于字符串和数组的函数.就在这些函数里面包括许多有用 的功能,如果你仔细阅读手册,你会经常 ...

  2. 70.纯 CSS 创作一只徘徊的果冻怪兽

    原文地址:https://segmentfault.com/a/1190000015484852 感想:monster中边框角.上下动画.旋转动画.左右动画,眼睛中transform:scaleY(n ...

  3. 阿里云短信验证使用(PHP)

    1.登陆阿里云后台,事先添加签名和模板 2.使用composer下载阿里云SDK composer require alibabacloud/sdk 在PHP7.0下安装需要提前安装curl扩展 -c ...

  4. nodeJs 操作Mysql数据库

    nodeJs下操作数据库需要安装npm模块: mysql npm install mysql --save-dev 新建express项目 express --view=ejs 在项目根目录下新建数据 ...

  5. HBASE分布式集群搭建(ubuntu 16.04)

    1.hbase是依赖Hadoop运行的,因此先确保自己已搭建好Hadoop集群环境 没安装的可以参考这里:https://www.cnblogs.com/chaofan-/p/9740408.html ...

  6. 源码解析之ConcurrentHashmap

    ConcurrentHashmap算是我看的集合源码里最难理解的了(当然ConcurrentLinkedList虽然代码少但理解起来也累),在Java1.8版本中DougLea大师巧通过妙地代码把锁粒 ...

  7. Taro开发写密码支付弹层

    在支付的时候弹出填写密码,模仿了支付宝支付填写密码.主要是利用遮罩的来实现.直接上代码吧. html设计,通过标记控制显示. { showPayPwdInput ? <View classNam ...

  8. P61 实践作业

    网络攻防实验环境搭建 根据链接下载的实验工具包,将其解压 打开VM虚拟机,点击图中红色框,扫描虚拟机 选择文件所在位置 点击下一步,完成.即可 在VM虚拟机设置中把网络适配器修改为桥接模式.如下图 在 ...

  9. Homework:小写字母转大写字母

    // 功能: // 从键盘上输入单个字符 // 如果是小写字母,则转换成大写后输出 // 否则,什么也不做,原样输出 #include <stdio.h> int main() { cha ...

  10. 关于新版oracle不支持wm_concat函数的解决办法

    oracle12G中不支持wm_concat,就改用:listagg(合并字段,'连接符号') within group (order by 字段) 来实现列转行