python-登录-注册-修改密码
该脚本实现了,登录,注册,修改密码功能。
#!/usr/bin/env python
# -*- coding:utf-8 -*-
#pangguoping import os
def login(username,password):
f = open("db",'r')
for line in f:
#print(line,type(line))
line_list = line.strip().split("|")
#print(line_list,type(line_list))
if line_list[0] == username and line_list[1] == password:
return True
return False def register(username,password):
f = open("db",'a')
temp = "\n" + username + "|" + password
f.write(temp)
f.close()
return True
def change_pwd(username):
new_pwd = input('请输入新的密码:')
write_flag = False with open('db', 'r', encoding='utf-8') as old_file, open('db_new', 'w', encoding='utf-8') as new_file:
for line in old_file:
if username == line.strip().split('|')[0] and new_pwd != line.strip().split('|')[1]:
line_list = line.strip().split('|') #把字符串分割成列表
#print(line_list, type(line_list)) # 输出['admin', '789'] <class 'list'>
line_list[0] = username
line_list[1] = new_pwd
#new_line = line_list[0] + '|' + line_list[1]
#print(new_line,type(new_line)) #输出 admin|123 类型是str
new_line = '|'.join(line_list)
new_file.write('%s\n' % new_line) write_flag = True
else:
pass
#new_file.write(line)
#os.remove('db_new')
if write_flag:
os.rename('db', 'db.bak')
os.rename('db_new', 'db')
os.remove('db.bak')
print('账号%s,密码修改成功。' % username)
else:
print('新密码与旧密码不能相同,请重新输入!')
os.remove('db_new') return False def main():
t = input("1:登录:\n2:注册:\n3,修改信息:\n请输入您的操作:")
if t == "":
user = input("请输入用户名:")
pwd = input("请输入密码:")
result = login(user,pwd)
#print(result)
if result:
print("登录成功")
else:
print("登录失败")
elif t == "":
user = input("请输入用户名:")
pwd = input("请输入密码:")
result = register(user,pwd)
if result:
print('注册成功')
else:
pass
elif t == "":
user = input("请输入用户名:")
pwd = input("请输入密码:")
result = login(user,pwd)
if result:
r= change_pwd(user)
#print(r)
else:
print("用户名密码错误,请重新输入!") main()
python-登录-注册-修改密码的更多相关文章
- node+mysql+express实现登录/注册/修改密码/删除用户 接口
实现用户的注册.登录.修改密码.删除用户操作 用到的数据库:nodecms:表:user 目录结构: db目录下存放数据库操作语句: userSQL.js 用户有关的操作语句 router目录 接口路 ...
- Web实现数据库链接的登录注册修改密码功能
/** * Copyright (C), 2017-2017 * FileName: User * Author: ichimoku * Date: 2017/12/5 14:31 * version ...
- Email接收验证码,以实现登录/注册/修改密码
要求 1)实现Email形式的注册功能和相应的登录功能:2)实现忘记密码时的密码找回功能:3)存在数据库中的密码不能以明文形式存放,即建议在浏览器端发送请求前,调用js代码对用户的密码做md5加密 分 ...
- Android基于XMPP Smack Openfire下学习开发IM(一)实现用户注册、登录、修改密码和注销等
http://blog.csdn.net/h7870181/article/details/8653865 以前学习过用Scoket 建立聊天,简单的建立聊天是没问题的,但如果要实现多人复杂的聊天,后 ...
- openfire Android学习(一)----实现用户注册、登录、修改密码和注销等
以前学习过用Scoket 建立聊天,简单的建立聊天是没问题的,但如果要实现多人复杂的聊天,后台服务器代码就比较复杂,对于我这新手来讲就比较难了.后来在网上看到用openfire做服务器,利用强大的Sm ...
- selenium(python)登录时账号密码错误提示语
selenium(python)登录时账号密码错误提示语的获取 可以用text
- 测试点常用用例设计(登录、修改密码、输入框、上传视频、XSS、URL篡改)
1.无效-视频文件测试点: 视频大小过大 视频大小过小 视频名称过长 视频名称包含特殊字符 视频名称包含中文.中英混合 视频文件格式错误 视频文件重复性上传 2.有效-视频文件测试点: 选择符合要求的 ...
- 使用手机登录OWA修改密码的问题
最近发现使用手机端登录OWA,安卓手机是可以修改密码的,如图1,但是iPhone就不成,safari和第三方都不可以,如图二. 图一 图二
- Mysql 免密码登录,修改密码及忘记密码操作
----免密码登陆 方式一 my.cnf增加[client]标签 [client] user="root" password="你的密码" 单对定义不同的客户端 ...
随机推荐
- Ubuntu SSH 客户端的应用 | sshfs映射远程文件系统为本地磁盘
SSH是指Secure Shell,是一种安全的传输协议. Ubuntu客户端通过SSH访问远程服务器 ,以下步骤是客户端 的配置方法: 1. sudo apt-get install ssh 2. ...
- 怎么用C#获取Scenario step在specflow里
公司最近在用specflow 这种BDD的模式,但PM还是想把case再存进TestManager里面一份儿一遍后期集成TestManager 自动runcase用.所以我们需要获取每个scenari ...
- 解析c语言背后的汇编代码
源码 很简单的c语言代码,作用是交换两个数: #include <stdio.h> void swap(int * a, int * b) { *a = *a + *b - (*b = * ...
- C#析构函数,类运行结束后运行
public class Students { //创建对像时使用 public Students(string name, int age, char gender, int englist, in ...
- 在eclipse中对于java的操作
1. 新建project new project --> java project -->input the name of the project and choose the jre ...
- Web项目中JSP页面的一种调试方法与出现的问题 -- SpringMVC架构测试
在前端开发中,尤其是MVC架构多人开发,负责前端的童鞋总是需要做静态页面,再和后台连接前无法使用变量如EL表达式等测试功能,所以本人引入了一个模板jsp数据测试专用文件,专门配置所有的变量,然后在待测 ...
- python之6-3嵌套函数
1. 嵌套函数 子函数可以继承父函数的变量 父函数返回子函数 子函数返回结果 看例子如下:结果是一个字符串fun1+fun2 #!/usr/bin/env python # coding=utf-8 ...
- Adt 配置注释模板
点击Window->Preferences->Java->Code Style->Code Templates,如下图所示: 选中,点击右侧的Edit进行编辑.
- leetcode_Search in Rotated Sorted Array II
Follow up for "Search in Rotated Sorted Array": What if duplicates are allowed? Would this ...
- Katana 还是Owin ? 本地自承载
使用Owin 将Web项目脱离 IIS确实很特别..... 由此 ,可以衍生出,一个新的通信渠道,本地Server的自承载. 1 Node.js 2 Python 3 Ruby 4 Owin (C#- ...