Python实现密码薄文件的增删改查与持久化存储
本文介绍如何使用Python实现一个简易密码薄程序,支持网址和密码的添加、删除、修改和查询功能。通过面向对象设计,封装文件读写逻辑,实现数据的持久化存储。代码包含基础文件操作类、业务逻辑类和主控界面,适合Python初学者学习文件I/O及类继承应用。
密码薄程序需求概述
本示例旨在构建一个“密码薄”程序,用于存储网址及其对应的密码(例如 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实现密码薄文件读写操作的完整过程。该示例展示了如何通过简单的类封装实现数据的增删改查及文件存储功能。如有任何疑问,欢迎留言交流,小编会及时回复。感谢大家对本站的支持! 如果您觉得本文对您有帮助,欢迎转载,请注明出处,谢谢!
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









