背景

随着现在的应用越来越多,人们注册账号密码的数量也越来越多,很多时候,我都不记得这个平台有没有创建账号密码,这是第一点。还有一点就是,因为很多人不愿意记很多个密码,或者也记不住很多个密码,导致很多平台的密码是一样的,这样其实对自己资料的安全性很低,因为这样出事的例子也有很多。还有就是,我觉得这个小助手应该是一个成熟的小助手,可以自己生成复杂度良好的密码!然后保存在数据库。因此,奔着着自己使用的同时也分享给大家!

一、思路

正常的增删改查功能,只不过我们是在命令台输入。唯一有差别的就是增,我需要随机生成复杂度较高的密码,保存起来。如果输入的值有错误,则提示错误。
增:输入所在平台->输入账号->生成密码->保存起来。如果在该平台已经存在此账号,保存失败并提示。
删:输入平台->输入账号->确认删除->删除成功。
改:输入平台->输入账号->确认修改的密码->选择修改项->修改成功。如果修改后的平台账号冲突,则提示修改失败并提示。
查:查找所有账号密码、查找指定平台账号的密码、按平台查找账号密码、按账号查找平台跟密码。

二、实现

1.增

def createpa ():a = input('请输入生成密码的平台:')b = input('请输入平台登陆账号:')c = input('请输入生成密码的位数:')d = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789~!@#$%^&*()_+-=*/[]{}'e = random.sample(d,int(c))f = ''.join(e)cur.execute('select pingtai,zhanghao from pamanag;')ptzhanghao = cur.fetchall()for i in ptzhanghao :if a == i[0] and b == i[1]:print('该平台下账号已存在,请确认。')returnprint('生成一条记录:')print(f'平台:{a},账号:{b},密码:{f}')while True:g = input('是否保存到数据库?Y/N')if g == 'Y' or g =='y':cur.execute('insert into pamanag(pingtai,zhanghao,mima) value (%s,%s,%s)',(a,b,f))con.commit()print('保存成功!')returnelif g == 'N' or g =='n' :returnelse :print('请输入正确值!')## print('新增一条记录:')# print(f'平台:{a},账号:{b},密码:{f}')

2.删

def delpasswd():a = input('请输入删除的平台:')b = input(f'请输入删除{a}平台下的账号:')cur.execute('select pingtai,zhanghao from pamanag;')ptzhanghao = cur.fetchall()for i in ptzhanghao:if a == i[0] and b == i[1]:while True:cur.execute('select * from pamanag where pingtai=%s and zhanghao=%s', (a, b))data = cur.fetchall()c = input(f'确认删除{data[0][1]}平台的账号:{data[0][2]}密码:{data[0][3]}?Y/N')if c == 'Y' or c == 'y':cur.execute('delete from pamanag where pingtai=%s and zhanghao=%s' , (a,b))con.commit()print('删除成功!')returnelif c == 'N' or c == 'n':returnelse:print('请输入正确值!')returnprint('没有这条信息,请确认。')

3.改

def updatedpass():a = input('请输入要修改的平台:')b = input(f'请输入在{a}平台中要修改的账号:')cur.execute('select pingtai,zhanghao from pamanag;')ptzhanghao = cur.fetchall()for i in ptzhanghao:if a == i[0] and b == i[1]:while True:cur.execute('select * from pamanag where pingtai=%s and zhanghao=%s', (a, b))data = cur.fetchall()c = input(f'是否修改{data[0][1]}平台的账号:{data[0][2]}密码:{data[0][3]}的内容?Y/N')if c == 'Y' or c == 'y':d = input('请选择修改选项:1.平台;2.账号;3.密码;')if d == '1' :e = input(f'{data[0][1]}平台修改为:')for j in ptzhanghao:if e == j[0] and b == j[1]:print('修改失败,该平台已存在此账号')returncur.execute('update pamanag set pingtai = %s where pingtai=%s and zhanghao=%s' , (e,a,b))con.commit()print('修改成功!')returnelif d == '2' :e = input(f'账号{data[0][2]}修改为:')for j in ptzhanghao:if a == j[0] and e == j[1]:print('修改失败,该账号已存在此平台')returncur.execute('update pamanag set zhanghao = %s where pingtai=%s and zhanghao=%s' , (e,a,b))con.commit()print('修改成功!')returnelif d == '3' :e = input(f'密码{data[0][3]}修改为:')cur.execute('update pamanag set mima = %s where pingtai=%s and zhanghao=%s' , (e,a,b))con.commit()print('修改成功!')returnelse:print('请输入正确值!')elif c == 'N' or c == 'n':returnelse:print('请输入正确值!')returnprint('没有这条信息,请确认。')

4.查

def selectall():cur.execute('select pingtai,zhanghao,mima from pamanag;')data = cur.fetchall()for i in data:print(f'平台:{i[0]},账号:{i[1]},密码:{i[2]}')def selectatpingtaizhanghao():a = input('请输入要查找的平台:')b = input(f'请输入{a}平台下要查找的账号:')cur.execute('select pingtai,zhanghao from pamanag;')ptzhanghao = cur.fetchall()for i in ptzhanghao:if a == i[0] and b == i[1]:cur.execute('select * from pamanag where pingtai=%s and zhanghao=%s', (a, b))data = cur.fetchall()print(f'平台:{data[0][1]}账号:{data[0][2]}密码:{data[0][3]}')def selectatpingtai():a = input('请输入要查找平台:')cur.execute('select pingtai,zhanghao,mima from pamanag where pingtai=%s;',(a))data = cur.fetchall()for i in data :print(f'平台:{i[0]},账号:{i[1]},密码:{i[2]}')def selectatzhanghao():a = input('请输入要查找账号:')cur.execute('select pingtai,zhanghao,mima from pamanag where zhanghao=%s;',(a))data = cur.fetchall()for i in data :print(f'平台:{i[0]},账号:{i[1]},密码:{i[2]}')

5.完整代码

import random
import pymysqlcon = pymysql.connect(host='127.0.0.1',port=3306,user='root',passwd='123',db='passwordmanag',charset='utf8')
cur = con.cursor()def createpa ():a = input('请输入生成密码的平台:')b = input('请输入平台登陆账号:')c = input('请输入生成密码的位数:')d = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789~!@#$%^&*()_+-=*/[]{}'e = random.sample(d,int(c))f = ''.join(e)cur.execute('select pingtai,zhanghao from pamanag;')ptzhanghao = cur.fetchall()for i in ptzhanghao :if a == i[0] and b == i[1]:print('该平台下账号已存在,请确认。')returnprint('生成一条记录:')print(f'平台:{a},账号:{b},密码:{f}')while True:g = input('是否保存到数据库?Y/N')if g == 'Y' or g =='y':cur.execute('insert into pamanag(pingtai,zhanghao,mima) value (%s,%s,%s)',(a,b,f))con.commit()print('保存成功!')returnelif g == 'N' or g =='n' :returnelse :print('请输入正确值!')## print('新增一条记录:')# print(f'平台:{a},账号:{b},密码:{f}')def delpasswd():a = input('请输入删除的平台:')b = input(f'请输入删除{a}平台下的账号:')cur.execute('select pingtai,zhanghao from pamanag;')ptzhanghao = cur.fetchall()for i in ptzhanghao:if a == i[0] and b == i[1]:while True:cur.execute('select * from pamanag where pingtai=%s and zhanghao=%s', (a, b))data = cur.fetchall()c = input(f'确认删除{data[0][1]}平台的账号:{data[0][2]}密码:{data[0][3]}?Y/N')if c == 'Y' or c == 'y':cur.execute('delete from pamanag where pingtai=%s and zhanghao=%s' , (a,b))con.commit()print('删除成功!')returnelif c == 'N' or c == 'n':returnelse:print('请输入正确值!')returnprint('没有这条信息,请确认。')def updatedpass():a = input('请输入要修改的平台:')b = input(f'请输入在{a}平台中要修改的账号:')cur.execute('select pingtai,zhanghao from pamanag;')ptzhanghao = cur.fetchall()for i in ptzhanghao:if a == i[0] and b == i[1]:while True:cur.execute('select * from pamanag where pingtai=%s and zhanghao=%s', (a, b))data = cur.fetchall()c = input(f'是否修改{data[0][1]}平台的账号:{data[0][2]}密码:{data[0][3]}的内容?Y/N')if c == 'Y' or c == 'y':d = input('请选择修改选项:1.平台;2.账号;3.密码;')if d == '1' :e = input(f'{data[0][1]}平台修改为:')for j in ptzhanghao:if e == j[0] and b == j[1]:print('修改失败,该平台已存在此账号')returncur.execute('update pamanag set pingtai = %s where pingtai=%s and zhanghao=%s' , (e,a,b))con.commit()print('修改成功!')returnelif d == '2' :e = input(f'账号{data[0][2]}修改为:')for j in ptzhanghao:if a == j[0] and e == j[1]:print('修改失败,该账号已存在此平台')returncur.execute('update pamanag set zhanghao = %s where pingtai=%s and zhanghao=%s' , (e,a,b))con.commit()print('修改成功!')returnelif d == '3' :e = input(f'密码{data[0][3]}修改为:')cur.execute('update pamanag set mima = %s where pingtai=%s and zhanghao=%s' , (e,a,b))con.commit()print('修改成功!')returnelse:print('请输入正确值!')elif c == 'N' or c == 'n':returnelse:print('请输入正确值!')returnprint('没有这条信息,请确认。')def selectall():cur.execute('select pingtai,zhanghao,mima from pamanag;')data = cur.fetchall()for i in data:print(f'平台:{i[0]},账号:{i[1]},密码:{i[2]}')def selectatpingtaizhanghao():a = input('请输入要查找的平台:')b = input(f'请输入{a}平台下要查找的账号:')cur.execute('select pingtai,zhanghao from pamanag;')ptzhanghao = cur.fetchall()for i in ptzhanghao:if a == i[0] and b == i[1]:cur.execute('select * from pamanag where pingtai=%s and zhanghao=%s', (a, b))data = cur.fetchall()print(f'平台:{data[0][1]}账号:{data[0][2]}密码:{data[0][3]}')def selectatpingtai():a = input('请输入要查找平台:')cur.execute('select pingtai,zhanghao,mima from pamanag where pingtai=%s;',(a))data = cur.fetchall()for i in data :print(f'平台:{i[0]},账号:{i[1]},密码:{i[2]}')def selectatzhanghao():a = input('请输入要查找账号:')cur.execute('select pingtai,zhanghao,mima from pamanag where zhanghao=%s;',(a))data = cur.fetchall()for i in data :print(f'平台:{i[0]},账号:{i[1]},密码:{i[2]}')def main():print('-' * 65 + '账号密码管理系统' + '-' * 65 )while True:a = input('请选择功能:1.创建账号密码;2.删除账号密码;3.修改账号密码;''4.查找所有账号密码;5.按账号平台查找密码;6.按平台查找账号密码;7.按账号寻找账号密码;0.退出')if int(a) == 1:createpa()elif int(a) == 2:delpasswd()elif int(a) == 3 :updatedpass()elif int(a) == 4 :selectall()elif int(a) == 5 :selectatpingtaizhanghao()elif int(a) == 6 :selectatpingtai()elif int(a) == 7 :selectatzhanghao()elif int(a) == 0 :exit()else:print('请输入正确序号。')print('-' * 65 + '账号密码管理系统' + '-' * 65 )if __name__ == '__main__':main()

效果:

C:\Users\blanklee\PycharmProjects\Paswdmanagement\venv\Scripts\python.exe C:/Users/blanklee/PycharmProjects/Paswdmanagement/paswdmanagement.py
-----------------------------------------------------------------账号密码管理系统-----------------------------------------------------------------
请选择功能:1.创建账号密码;2.删除账号密码;3.修改账号密码;4.查找所有账号密码;5.按账号平台查找密码;6.按平台查找账号密码;7.按账号寻找账号密码;0.退出1
请输入生成密码的平台:QQ
请输入平台登陆账号:123456789
请输入生成密码的位数:8
生成一条记录:
平台:QQ,账号:123456789,密码:4K-Bn&VZ
是否保存到数据库?Y/NY
保存成功!
-----------------------------------------------------------------账号密码管理系统-----------------------------------------------------------------
请选择功能:1.创建账号密码;2.删除账号密码;3.修改账号密码;4.查找所有账号密码;5.按账号平台查找密码;6.按平台查找账号密码;7.按账号寻找账号密码;0.退出1
请输入生成密码的平台:QQ
请输入平台登陆账号:123456789
请输入生成密码的位数:7
该平台下账号已存在,请确认。
-----------------------------------------------------------------账号密码管理系统-----------------------------------------------------------------
请选择功能:1.创建账号密码;2.删除账号密码;3.修改账号密码;4.查找所有账号密码;5.按账号平台查找密码;6.按平台查找账号密码;7.按账号寻找账号密码;0.退出2
请输入删除的平台:YY
请输入删除YY平台下的账号:123
确认删除YY平台的账号:123密码:=9*/LE^?Y/NY
删除成功!
-----------------------------------------------------------------账号密码管理系统-----------------------------------------------------------------
请选择功能:1.创建账号密码;2.删除账号密码;3.修改账号密码;4.查找所有账号密码;5.按账号平台查找密码;6.按平台查找账号密码;7.按账号寻找账号密码;0.退出2
请输入删除的平台:123456789
请输入删除123456789平台下的账号:123456789
没有这条信息,请确认。
-----------------------------------------------------------------账号密码管理系统-----------------------------------------------------------------
请选择功能:1.创建账号密码;2.删除账号密码;3.修改账号密码;4.查找所有账号密码;5.按账号平台查找密码;6.按平台查找账号密码;7.按账号寻找账号密码;0.退出3
请输入要修改的平台:QQ
请输入在QQ平台中要修改的账号:123456789
是否修改QQ平台的账号:123456789密码:4K-Bn&VZ的内容?Y/NY
请选择修改选项:1.平台;2.账号;3.密码;3
密码4K-Bn&VZ修改为:4K-Bnnu857@
修改成功!
-----------------------------------------------------------------账号密码管理系统-----------------------------------------------------------------
请选择功能:1.创建账号密码;2.删除账号密码;3.修改账号密码;4.查找所有账号密码;5.按账号平台查找密码;6.按平台查找账号密码;7.按账号寻找账号密码;0.退出3
请输入要修改的平台:QQ
请输入在QQ平台中要修改的账号:587
是否修改QQ平台的账号:587密码:dA(v2Z&h的内容?Y/NY
请选择修改选项:1.平台;2.账号;3.密码;2
账号587修改为:123456789
修改失败,该账号已存在此平台
-----------------------------------------------------------------账号密码管理系统-----------------------------------------------------------------
请选择功能:1.创建账号密码;2.删除账号密码;3.修改账号密码;4.查找所有账号密码;5.按账号平台查找密码;6.按平台查找账号密码;7.按账号寻找账号密码;0.退出3
请输入要修改的平台:888
请输入在888平台中要修改的账号:888
是否修改888平台的账号:888密码:$ERkKm*的内容?Y/NY
请选择修改选项:1.平台;2.账号;3.密码;1
888平台修改为:777
修改失败,该平台已存在此账号
-----------------------------------------------------------------账号密码管理系统-----------------------------------------------------------------
请选择功能:1.创建账号密码;2.删除账号密码;3.修改账号密码;4.查找所有账号密码;5.按账号平台查找密码;6.按平台查找账号密码;7.按账号寻找账号密码;0.退出4
平台:QQ,账号:4872,密码:e6HCZza
平台:淘宝,账号:4872,密码:heI7
平台:888,账号:888,密码:$ERkKm*
平台:777,账号:888,密码:u&dPSb1M
平台:微信,账号:5858,密码:[-%eix_
平台:QQ,账号:587,密码:dA(v2Z&h
平台:QQ,账号:123456789,密码:4K-Bnnu857@
-----------------------------------------------------------------账号密码管理系统-----------------------------------------------------------------
请选择功能:1.创建账号密码;2.删除账号密码;3.修改账号密码;4.查找所有账号密码;5.按账号平台查找密码;6.按平台查找账号密码;7.按账号寻找账号密码;0.退出5
请输入要查找的平台:QQ
请输入QQ平台下要查找的账号:123456789
平台:QQ账号:123456789密码:4K-Bnnu857@
-----------------------------------------------------------------账号密码管理系统-----------------------------------------------------------------
请选择功能:1.创建账号密码;2.删除账号密码;3.修改账号密码;4.查找所有账号密码;5.按账号平台查找密码;6.按平台查找账号密码;7.按账号寻找账号密码;0.退出6
请输入要查找平台:QQ
平台:QQ,账号:4872,密码:e6HCZza
平台:QQ,账号:587,密码:dA(v2Z&h
平台:QQ,账号:123456789,密码:4K-Bnnu857@
-----------------------------------------------------------------账号密码管理系统-----------------------------------------------------------------
请选择功能:1.创建账号密码;2.删除账号密码;3.修改账号密码;4.查找所有账号密码;5.按账号平台查找密码;6.按平台查找账号密码;7.按账号寻找账号密码;0.退出7
请输入要查找账号:888
平台:888,账号:888,密码:$ERkKm*
平台:777,账号:888,密码:u&dPSb1M
-----------------------------------------------------------------账号密码管理系统-----------------------------------------------------------------
请选择功能:1.创建账号密码;2.删除账号密码;3.修改账号密码;4.查找所有账号密码;5.按账号平台查找密码;6.按平台查找账号密码;7.按账号寻找账号密码;0.退出0Process finished with exit code 0

结束

好啦,可以愉快的开始使用账号密码小助手了!!忘记密码就来这找喽!

Python写一个账号密码小助手(包含增删改查功能)相关推荐

  1. 从零开始搭建一个web图书管理项目(增删改查功能)

    参考资料:https://blog.csdn.net/qq_23994787/article/details/73612870 http://how2j.cn/ 实习第一周,写下一些在建立web项目中 ...

  2. java小程序增删改查_用java编一个卡拉ok小程序 有增删改查就可以

    publicclassMainInterfaceextendsJFrameimplementsActionListener{//AddSongas=newAddSong();publicvoidini ...

  3. Online Coding开发模式 (通过在线配置实现一个表模型的增删改查功能,无需写任何代码)

    JEECG 智能开发平台. 开发模式由代码生成器转变为Online Coding模式                      (通过在线配置实现一个表模型的增删改查功能,无需一行代码,支持用户自定义 ...

  4. 基于Python Flask框架+jquery Ajax技术实现的增删改查(CRUD)+Ajax的异步文件上传

    运行界面(话不多说先上图) 运行之后的index界面,有登陆.注册功能 登陆界面,输入数据库中用户名.密码不为空且密码是加密的数据,进入main界面 注册界面,用的bootstrop的弹窗,用户名和密 ...

  5. Python Web实战:Python+Django+MySQL实现基于Web版的增删改查

    本文使用Python Web框架Django连接和操作MySQL数据库学生信息管理系统(SMS),主要包含对学生信息增删改查功能. 1.创建项目(sms) 创建Django项目 django-admi ...

  6. python django mysql web页面多级联动_Python Web实战:Python+Django+MySQL实现基于Web版的增删改查...

    前言 本篇使用Python Web框架Django连接和操作MySQL数据库学生信息管理系统(SMS),主要包含对学生信息增删改查功能,旨在快速入门Python Web,少走弯路.效果演示在项目实战最 ...

  7. python对excel增删改查语句_利用python模拟sql语句对员工表格进行增删改查

    本文主要给大家介绍了关于python模拟sql语句对员工表格进行增删改查的相关内容,分享出来供大家参考学习,下面来一起看看详细的介绍: 具体需求: 员工信息表程序,实现增删改查操作: 可进行模糊查询, ...

  8. python对excel增删改查_利用python模拟sql语句对员工表格进行增删改查

    本文主要给大家介绍了关于python模拟sql语句对员工表格进行增删改查的相关内容,分享出来供大家参考学习,下面来一起看看详细的介绍: 具体需求: 员工信息表程序,实现增删改查操作: 可进行模糊查询, ...

  9. Android 中编写一个简易购物车,商品包括商品名称,单价,数量,可以对商品进行增删改查功能。(ArrayList,SQLite)

    Android 中编写一个简易购物车,商品包括商品名称,单价,数量,可以对商品进行增删改查功能.(ArrayList,SQLite) 布局(activity_main.xml): <?xml v ...

最新文章

  1. [JS-JQuery]基础
  2. formal method lecture 2: propositional logic
  3. pyqt5讲解10:布局管理讲解大全
  4. matlab 城市间最短路径
  5. ASP.NET 错误
  6. Vue中使用axios的响应拦截器处理请求失败的情况(处理token过期问题)以及 登录成功跳转回原来页面问题
  7. CGI脚本跨站截取Cookie/附ASP的版本
  8. c++多边形扫描线填充算法_基于3DGIS技术的梯形格网构建及其简化算法设计
  9. JSK-16 爬楼梯【基础】
  10. php构造函数连数据库,php 连接数据库的类
  11. linux i3 桌面,Linux 桌面平铺管理器 - i3wm
  12. 配置交叉编译工具链(imx6ull pro)
  13. FastDFS原理介绍
  14. python写圣诞祝福_圣诞节啊,用Python写一棵圣诞树出来
  15. 基于hexo搭建github的个人静态博客
  16. 项目实践-基于视觉的自动驾驶正向碰撞预警(matlab代码)
  17. SQLI DUMB SERIES-2
  18. java解析蓝奏云直连(解析真正文件地址)
  19. 【二】头歌平台实验-离散数学逻辑与推理
  20. 简历推荐_26位AI产品经理

热门文章

  1. [青少年CTF]Web—Easy CheckMe1-8 by 周末
  2. 学术海报模板_实战高手教你如何设计裂变海报和详情页
  3. 第二节: 沥青路面结构组成特点(1)结构组成
  4. 天路协同办公管理系统解决方案[1]
  5. 云计算不需要服务器吗,云计算需要服务器吗
  6. 开讲啦:Chap 10 对文件的输入输出
  7. 计算机教室语音部,语音室简介
  8. 基于Linux C的简单日志库
  9. 浏览器的默认样式及去除
  10. html图片滤镜,CSS滤镜(Filters)