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缩进和冒号详解
Jun 01 Python
Python使用遗传算法解决最大流问题
Jan 29 Python
Python切片操作实例分析
Mar 16 Python
使用python绘制二元函数图像的实例
Feb 12 Python
Python对列表的操作知识点详解
Aug 20 Python
Tensorflow 卷积的梯度反向传播过程
Feb 10 Python
解决 jupyter notebook 回车换两行问题
Apr 15 Python
python中pathlib模块的基本用法与总结
Aug 17 Python
Python xlrd/xlwt 创建excel文件及常用操作
Sep 24 Python
Python爬取梨视频的示例
Jan 29 Python
python中os.remove()用法及注意事项
Jan 31 Python
python中数组和列表的简单实例
Mar 25 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文件上传问题汇总(文件大小检测、大文件上传处理)
2015/12/24 PHP
php生出随机字符串
2017/07/06 PHP
jQuery 核心函数以及jQuery对象
2010/03/23 Javascript
基于node.js的快速开发透明代理
2010/12/25 Javascript
5秒后跳转效果(setInterval/SetTimeOut)
2013/05/03 Javascript
javascript中typeof的使用示例
2013/12/19 Javascript
javascript事件模型实例分析
2015/01/30 Javascript
jQuery焦点图轮播特效代码分享(3款)
2015/09/05 Javascript
AngularJS 中的Promise --- $q服务详解
2016/09/14 Javascript
jQuery模拟实现的select点击选择效果【附demo源码下载】
2016/11/09 Javascript
JavaScript原生编写《飞机大战坦克》游戏完整实例
2017/01/04 Javascript
js自定义input文件上传样式
2018/10/26 Javascript
为vue项目自动设置请求状态的配置方法
2019/06/09 Javascript
vue项目配置使用flow类型检查的步骤
2020/03/18 Javascript
jQuery使用hide()、toggle()函数实现相机品牌展示隐藏功能
2021/01/29 jQuery
python enumerate函数的使用方法总结
2017/11/15 Python
python多线程并发让两个LED同时亮的方法
2019/02/18 Python
Python制作微信好友背景墙教程(附完整代码)
2019/07/17 Python
Python封装成可带参数的EXE安装包实例
2019/08/24 Python
python计算波峰波谷值的方法(极值点)
2020/02/18 Python
python实现猜数游戏
2020/03/27 Python
python对接ihuyi实现短信验证码发送
2020/05/10 Python
Html5游戏开发之乒乓Ping Pong游戏示例(三)
2013/01/21 HTML / CSS
网购亚洲时装、美容产品和生活百货:YesStyle
2016/09/15 全球购物
新闻记者实习自我鉴定
2013/09/19 职场文书
自主招生自荐信格式
2013/12/03 职场文书
学校运动会开幕演讲稿
2014/01/04 职场文书
高中历史教学反思
2014/02/08 职场文书
小学生开学感言
2014/02/28 职场文书
诚信考试倡议书
2014/04/15 职场文书
《黄道婆》教学反思
2016/02/22 职场文书
如何计划开一家便利店?
2019/07/31 职场文书
再读《皇帝的新衣》的读后感悟!
2019/08/07 职场文书
JS异步堆栈追踪之为什么await胜过Promise
2021/04/28 Javascript
Redis Cluster 集群搭建你会吗
2021/08/04 Redis