Python实现密码薄文件读写操作


Posted in Python onDecember 16, 2019

制作一个"密码薄",其可以存储一个网址,和一个密码(如 123456),请编写程序完成这个“密码薄”的增删改查功能,并且实现文件存储功能

D:\pytest_day\mimab\wenjian.py

class WenJian():
  def __init__(self,lujing,xieru):
    self.lujing=lujing
    self.xieru=xieru
 
  #读文件
  def read_file(self):
    #打开文件
    with open(self.lujing,'r') as f:
      content = []
      # 读取内容
      for i in f:
        i=i.split('\n')
        content.append(i[0])
    return content
 
  #写文件
  def write_file(self):
    # f = open(self.lujing, 'w')
    with open(self.lujing, 'w') as f:
      for i in self.xieru:
        f.writelines(i+'\n')
 
  #关闭文件
  def close_file(self):
    open(self.lujing).close()

D:\pytest_day\mimab\base.py

from mimab.wenjian import WenJian
class Base_Wenjian(WenJian):
  def __init__(self,lujing,xieru):
    WenJian.__init__(self,lujing,xieru)
 
  #添加
  def add(self):
    self.xieru = WenJian.read_file(self)
    url=input("请输入网址:")
    if url not in self.xieru:
      pwd=input("请输入密码:")
      self.xieru.append(url+' '+pwd)
      WenJian.write_file(self)
      WenJian.close_file(self)
    else:
      print("您输入的网址已经存在")
  #删除
  def dell(self):
    self.xieru = WenJian.read_file(self)
    url = input("请输入要删除网址:")
    for i in self.xieru:
      a=i.split()
      if url == a[0]:
        self.xieru.remove(i)
        WenJian.write_file(self)
        WenJian.close_file(self)
        print("删除成功!")
        break
      else:
        print("您输入的网址不存在")
  #编辑
  def edit(self):
    self.xieru = WenJian.read_file(self)
    url = input("请输入要编辑网址:")
    for j in range(len(self.xieru)):
      a=self.xieru[j].split()
      if url == a[0]:
        newurl = input("请输修改后的网址:")
        newpwd = input("请输修改后的密码:")
        self.xieru[j]=newurl+' '+newpwd
        WenJian.write_file(self)
        WenJian.close_file(self)
        print("修改成功!")
        break
      else:
        print("您输入的网址不存在")
 
  #查找
  def find(self):
    self.xieru = WenJian.read_file(self)
    url = input("请输入要查找的网址:")
    for j in range(len(self.xieru)):
      a=self.xieru[j].split()
      if url == a[0]:
        print(self.xieru[j])
        WenJian.write_file(self)
        WenJian.close_file(self)
        break
      else:
        print("输入的网址不存在")

D:\pytest_day\mimab\zsgc.py

from mimab.base import Base_Wenjian
class Wenjian_Caozuo(Base_Wenjian):
  def __init__(self,lujing,xieru,index):
    Base_Wenjian.__init__(self,lujing,xieru)
    self.index=index
 
  def zsgc(self):
    if self.index == '1':
      #添加
      Base_Wenjian.add(self)
 
    elif self.index == '2':
      #删除
      Base_Wenjian.dell(self)
 
    elif self.index == '3':
      #修改
      Base_Wenjian.edit(self)
 
    elif self.index == '4':
      #查找
      Base_Wenjian.find(self)
 
    elif self.index == '5':
      print("欢迎下次使用!!!")
      exit()
    else:
      print("输入操作编号格式不对")

D:\pytest_day\mimab\domain.py

from mimab.zsgc import Wenjian_Caozuo
show_txt="""1.添加网址密码
2.删除网址密码
3.修改网址密码
4.查询网址密码
5.退出本系统
请输入功能编号:"""
#文件路径
lujing="mimabo.txt"
#初始化列表
xieru=[]
 
while True:
  index=input(show_txt)
  hahaha=Wenjian_Caozuo(lujing,xieru,index)
  hahaha.zsgc()
D:\pytest_day\mimab\mimabo.txt

www.baidu.com 123456
www.wangyi.com 258369

运行:

1.添加网址密码
2.删除网址密码
3.修改网址密码
4.查询网址密码
5.退出本系统
请输入:1
请输入网址:baidu
请输入密码:1
1.添加网址密码
2.删除网址密码
3.修改网址密码
4.查询网址密码
5.退出本系统
请输入:1
请输入网址:qq
请输入密码:2
1.添加网址密码
2.删除网址密码
3.修改网址密码
4.查询网址密码
5.退出本系统
请输入:1
请输入网址:163
请输入密码:3
1.添加网址密码
2.删除网址密码
3.修改网址密码
4.查询网址密码
5.退出本系统
请输入:2
请输入要删除网址:baidu
删除成功!
1.添加网址密码
2.删除网址密码
3.修改网址密码
4.查询网址密码
5.退出本系统
请输入:2
请输入要删除网址:qq
删除成功!
1.添加网址密码
2.删除网址密码
3.修改网址密码
4.查询网址密码
5.退出本系统
请输入:2
请输入要删除网址:163
删除成功!
1.添加网址密码
2.删除网址密码
3.修改网址密码
4.查询网址密码
5.退出本系统
请输入:1
请输入网址:baidu
请输入密码:1
1.添加网址密码
2.删除网址密码
3.修改网址密码
4.查询网址密码
5.退出本系统
请输入:3
请输入要编辑网址:baidu
请输修改后的网址:www.baidu.com
请输修改后的密码:123456
1.添加网址密码
2.删除网址密码
3.修改网址密码
4.查询网址密码
5.退出本系统
请输入:1
请输入网址:www.wangyi.com
请输入密码:258369
1.添加网址密码
2.删除网址密码
3.修改网址密码
4.查询网址密码
5.退出本系统
请输入:4
请输入要查找的网址:www.baidu.com
www.baidu.com 123456
1.添加网址密码
2.删除网址密码
3.修改网址密码
4.查询网址密码
5.退出本系统
请输入:5
欢迎下次使用!!!

总结

以上所述是小编给大家介绍的Python实现密码薄文件读写操作,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Python 相关文章推荐
python通过smpt发送邮件的方法
Apr 30 Python
Python实现的文本简单可逆加密算法示例
May 18 Python
python 内置函数filter
Jun 01 Python
详解python函数传参是传值还是传引用
Jan 16 Python
Python实现随机创建电话号码的方法示例
Dec 07 Python
python科学计算之scipy——optimize用法
Nov 25 Python
如何使用Python发送HTML格式的邮件
Feb 11 Python
利用python在excel中画图的实现方法
Mar 17 Python
Django+Celery实现动态配置定时任务的方法示例
May 26 Python
Python抖音快手代码舞(字符舞)的实现方法
Feb 07 Python
python3实现无权最短路径的方法
May 12 Python
用Python仅20行代码编写一个简单的端口扫描器
Apr 08 Python
如何基于Python实现电子邮件的发送
Dec 16 #Python
Python如何基于selenium实现自动登录博客园
Dec 16 #Python
Python正则表达式急速入门(小结)
Dec 16 #Python
如何基于Python制作有道翻译小工具
Dec 16 #Python
django框架单表操作之增删改实例分析
Dec 16 #Python
Python生成个性签名图片获取GUI过程解析
Dec 16 #Python
Python列表切片常用操作实例解析
Dec 16 #Python
You might like
php递归实现无限分类生成下拉列表的函数
2010/08/08 PHP
PHP中通过HTTP_USER_AGENT判断是否为手机移动终端的函数代码
2013/02/14 PHP
PHP函数http_build_query使用详解
2014/08/20 PHP
四个常见html网页乱码问题及解决办法
2015/09/08 PHP
JavaScript 撑出页面文字换行
2009/06/15 Javascript
另一个javascript小测验(代码集合)
2011/07/27 Javascript
基于jquery实现拆分姓名的方法(纯JS版)
2013/05/08 Javascript
ajax提交表单实现网页无刷新注册示例
2014/05/08 Javascript
JavaScript实现图片DIV竖向滑动的方法
2015/04/25 Javascript
jQuery插件kinMaxShow扩展效果用法实例
2015/05/04 Javascript
浅析jQuery移动开发中内联按钮和分组按钮的编写
2015/12/04 Javascript
JS中多种方式创建对象详解
2016/03/22 Javascript
详解使用fetch发送post请求时的参数处理
2017/04/05 Javascript
vue中mint-ui环境搭建详细介绍
2017/04/06 Javascript
通过nodejs 服务器读取HTML文件渲染到页面的方法
2018/05/17 NodeJs
JavaScript canvas基于数组生成柱状图代码实例
2020/03/06 Javascript
Node.js API详解之 timer模块用法实例分析
2020/05/07 Javascript
jQuery实现移动端笔触canvas电子签名
2020/05/21 jQuery
[48:48]2014 DOTA2国际邀请赛中国区预选赛 SPD-GAMING VS Dream TIME
2014/05/21 DOTA
[04:22]DSPL第二期精彩集锦:残血反杀!
2014/12/10 DOTA
[02:47]DOTA2亚洲邀请赛 HR战队出场宣传片
2015/02/07 DOTA
Python装饰器基础详解
2016/03/09 Python
详解Python中contextlib上下文管理模块的用法
2016/06/28 Python
windows下Virtualenvwrapper安装教程
2017/12/13 Python
Python列表操作方法详解
2020/02/09 Python
Tensorflow--取tensorf指定列的操作方式
2020/06/30 Python
pip 20.3 新版本发布!即将抛弃 Python 2.x(推荐)
2020/12/16 Python
英国最大的高品质珠宝和手表专家:Goldsmiths
2017/03/11 全球购物
女孩每月服装订阅盒:kidpik
2019/04/17 全球购物
高一英语教学反思
2014/01/22 职场文书
个人委托书范本
2014/04/02 职场文书
写求职信要注意什么问题
2014/04/12 职场文书
本科毕业论文致谢怎么写
2015/05/14 职场文书
护士心得体会范文
2016/01/25 职场文书
JavaScript嵌入百度地图API的最详细方法
2021/04/16 Javascript
Spring中的使用@Async异步调用方法
2021/11/01 Java/Android