该脚本实现了,登录,注册,修改密码功能。

#!/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-登录-注册-修改密码的更多相关文章

  1. node+mysql+express实现登录/注册/修改密码/删除用户 接口

    实现用户的注册.登录.修改密码.删除用户操作 用到的数据库:nodecms:表:user 目录结构: db目录下存放数据库操作语句: userSQL.js 用户有关的操作语句 router目录 接口路 ...

  2. Web实现数据库链接的登录注册修改密码功能

    /** * Copyright (C), 2017-2017 * FileName: User * Author: ichimoku * Date: 2017/12/5 14:31 * version ...

  3. Email接收验证码,以实现登录/注册/修改密码

    要求 1)实现Email形式的注册功能和相应的登录功能:2)实现忘记密码时的密码找回功能:3)存在数据库中的密码不能以明文形式存放,即建议在浏览器端发送请求前,调用js代码对用户的密码做md5加密 分 ...

  4. Android基于XMPP Smack Openfire下学习开发IM(一)实现用户注册、登录、修改密码和注销等

    http://blog.csdn.net/h7870181/article/details/8653865 以前学习过用Scoket 建立聊天,简单的建立聊天是没问题的,但如果要实现多人复杂的聊天,后 ...

  5. openfire Android学习(一)----实现用户注册、登录、修改密码和注销等

    以前学习过用Scoket 建立聊天,简单的建立聊天是没问题的,但如果要实现多人复杂的聊天,后台服务器代码就比较复杂,对于我这新手来讲就比较难了.后来在网上看到用openfire做服务器,利用强大的Sm ...

  6. selenium(python)登录时账号密码错误提示语

    selenium(python)登录时账号密码错误提示语的获取 可以用text

  7. 测试点常用用例设计(登录、修改密码、输入框、上传视频、XSS、URL篡改)

    1.无效-视频文件测试点: 视频大小过大 视频大小过小 视频名称过长 视频名称包含特殊字符 视频名称包含中文.中英混合 视频文件格式错误 视频文件重复性上传 2.有效-视频文件测试点: 选择符合要求的 ...

  8. 使用手机登录OWA修改密码的问题

    最近发现使用手机端登录OWA,安卓手机是可以修改密码的,如图1,但是iPhone就不成,safari和第三方都不可以,如图二. 图一 图二

  9. Mysql 免密码登录,修改密码及忘记密码操作

    ----免密码登陆 方式一 my.cnf增加[client]标签 [client] user="root" password="你的密码" 单对定义不同的客户端 ...

随机推荐

  1. Ubuntu SSH 客户端的应用 | sshfs映射远程文件系统为本地磁盘

    SSH是指Secure Shell,是一种安全的传输协议. Ubuntu客户端通过SSH访问远程服务器 ,以下步骤是客户端 的配置方法: 1. sudo apt-get install ssh 2. ...

  2. 怎么用C#获取Scenario step在specflow里

    公司最近在用specflow 这种BDD的模式,但PM还是想把case再存进TestManager里面一份儿一遍后期集成TestManager 自动runcase用.所以我们需要获取每个scenari ...

  3. 解析c语言背后的汇编代码

    源码 很简单的c语言代码,作用是交换两个数: #include <stdio.h> void swap(int * a, int * b) { *a = *a + *b - (*b = * ...

  4. C#析构函数,类运行结束后运行

    public class Students { //创建对像时使用 public Students(string name, int age, char gender, int englist, in ...

  5. 在eclipse中对于java的操作

    1. 新建project new project --> java project -->input the name of the project and choose the jre ...

  6. Web项目中JSP页面的一种调试方法与出现的问题 -- SpringMVC架构测试

    在前端开发中,尤其是MVC架构多人开发,负责前端的童鞋总是需要做静态页面,再和后台连接前无法使用变量如EL表达式等测试功能,所以本人引入了一个模板jsp数据测试专用文件,专门配置所有的变量,然后在待测 ...

  7. python之6-3嵌套函数

    1. 嵌套函数 子函数可以继承父函数的变量 父函数返回子函数 子函数返回结果 看例子如下:结果是一个字符串fun1+fun2 #!/usr/bin/env python # coding=utf-8 ...

  8. Adt 配置注释模板

    点击Window->Preferences->Java->Code Style->Code Templates,如下图所示: 选中,点击右侧的Edit进行编辑.

  9. leetcode_Search in Rotated Sorted Array II

    Follow up for "Search in Rotated Sorted Array": What if duplicates are allowed? Would this ...

  10. Katana 还是Owin ? 本地自承载

    使用Owin 将Web项目脱离 IIS确实很特别..... 由此 ,可以衍生出,一个新的通信渠道,本地Server的自承载. 1 Node.js 2 Python 3 Ruby 4 Owin (C#- ...