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中xlrd包的安装与处理Excel表格
Dec 16 Python
Python爬虫通过替换http request header来欺骗浏览器实现登录功能
Jan 07 Python
解决python写入mysql中datetime类型遇到的问题
Jun 21 Python
浅谈django orm 优化
Aug 18 Python
python如何生成各种随机分布图
Aug 27 Python
使用Python和Scribus创建一个RGB立方体的方法
Jul 17 Python
用Python画小女孩放风筝的示例
Nov 23 Python
linux环境下安装python虚拟环境及注意事项
Jan 07 Python
keras tensorflow 实现在python下多进程运行
Feb 06 Python
在主流系统之上安装Pygame的方法
May 20 Python
Django3中的自定义用户模型实例详解
Aug 23 Python
python执行js代码的方法
May 13 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 output buffering缓存及程序缓存深入解析
2013/07/15 PHP
php自定义session示例分享
2014/04/22 PHP
Laravel事件监听器用法实例分析
2019/03/12 PHP
thinkphp5.1框架模板布局与模板继承用法分析
2019/07/19 PHP
JavaScript设计模式之单件模式介绍
2014/12/28 Javascript
跟我学习javascript的垃圾回收机制与内存管理
2015/11/23 Javascript
JavaScript常用判断写法大全(推荐)
2016/05/30 Javascript
jQuery和hwSlider实现内容响应式可触控滑动切换效果附源码下载(二)
2016/06/22 Javascript
jquery中live()方法和bind()方法区别分析
2016/06/23 Javascript
jQuery插件FusionWidgets实现的Cylinder图效果示例【附demo源码】
2017/03/23 jQuery
ES6新特性四:变量的解构赋值实例
2017/04/21 Javascript
vue-cli webpack 开发环境跨域详解
2017/05/18 Javascript
Angular4 中内置指令的基本用法
2017/07/31 Javascript
nodejs连接mysql数据库及基本知识点详解
2018/03/20 NodeJs
关于Angularjs中自定义指令一些有价值的细节和技巧小结
2018/04/22 Javascript
vuex实现及简略解析(小结)
2019/03/01 Javascript
JavaScript中的连续赋值问题实例分析
2019/07/12 Javascript
Vue3+elementui plus创建项目的方法
2020/12/01 Vue.js
从零学Python之入门(二)基本数据类型
2014/05/25 Python
python基本语法练习实例
2017/09/19 Python
使用matplotlib画散点图的方法
2018/05/25 Python
python爬取哈尔滨天气信息
2018/07/14 Python
使用Selenium破解新浪微博的四宫格验证码
2018/10/19 Python
在mac下查找python包存放路径site-packages的实现方法
2018/11/06 Python
Python 使用 PyMysql、DBUtils 创建连接池提升性能
2019/08/14 Python
AmazeUI 平滑滚动效果的示例代码
2020/08/20 HTML / CSS
大学自主招生自荐信
2013/12/16 职场文书
工厂仓管员岗位职责
2014/01/01 职场文书
祖国在我心中的演讲稿
2014/05/04 职场文书
纪念九一八事变83周年国旗下讲话稿
2014/09/15 职场文书
会计求职自荐信范文
2015/03/04 职场文书
拿破仑传读书笔记
2015/07/01 职场文书
关于幸福的感言
2015/08/03 职场文书
Python爬虫之爬取二手房信息
2021/04/27 Python
JavaScript分页组件使用方法详解
2021/07/26 Javascript
Mysql数据库中datetime、bigint、timestamp来表示时间选择,谁来存储时间效率最高
2021/08/23 MySQL