在这里,我的方法是,在每次文件启动前就读取某个txt文件里面存储的内容,放入到自定义的列表内,这样实现增删改查,在运行py文件的时候并没有对txt文件内容进行操作,而是对自定义的列表内容操作,当用户输入结束程序的时候,再把修改添加过的列表覆盖到txt文件里面。。
这样真的有点麻烦,如果数据量过多,一直覆盖很不方便,我现在也没有再修改,先放一放,以后再改,可以直接调用文件里面的信息,而不是最后再覆盖。
mima_infos=[]
a=0
import os
def print_menu():
print("欢迎使用密码薄存储密码")
print("1.增加信息")
print("2.删除信息")
print("3.查询信息")
print("4.修改信息")
print("5.退出程序")
global a
a=int(input("请输入要选择的功能:"))
# if a not in(1,5):
# print("识别不到该功能,请重新再来:")
# print_menu()
def add_info():
id=input("请输入id位置:")
yem=input("请输入网页地址:")
mima=input("请输入密码:")
dict1={'id':id,'dizhi':yem,'mima':mima}
mima_infos.append(dict1.copy())
def del_info():
id=input("请输入要删除的id位置的值:")
find_flag=False
for line in mima_infos:
if line['id']==id:
find_flag=True
mima_infos.remove(line)
if find_flag==True:
print("已删除")
else:
print("您输入的id不存在.")
def select_info():
id=input("请输入要查找的id的位置:")
find_flag=False
for line in mima_infos:
if line['id']==id:
find_flag=True
print(line['id'],line['dizhi'],line['mima'],sep=" ")
if find_flag==True:
print("已显示")
else:
print("您输入的id不存在.")
def recover_info():
id = input("请输入要修改的id的位置:")
find_flag = False
for line in mima_infos:
if line['id'] == id:
find_flag = True
new_dizhi=input("请输入新的网页url:")
new_mima=input("请输入新的密码:")
line['dizhi']=new_dizhi
line['mima']=new_mima
print(line['id'],line['dizhi'],line['mima'],sep=" ")
if find_flag == True:
print("已修改")
else:
print("您输入的id不存在.")
def exitt():
file=open('mima.txt','w+')
for i in mima_infos:
for value in i.values():
file.write(value)
file.write(" ")
file.write('\n')
file.close()
os._exit(0)
def main():
file=open('mima.txt','r+')
content=file.readlines()
global mima_infos
for i in content:
j=i.split(" ",2)
dict2={'id':j[0],'dizhi':j[1],'mima':j[2]}
mima_infos.append(dict2.copy())
file.close()
while True:
print_menu()
if a==1:
add_info()
if a==2:
del_info()
if a==3:
select_info()
if a==4:
recover_info()
if a==5:
exitt()
main()
密码管理器设计与实现
本文介绍了一种基于Python的密码管理器设计思路,通过读取和写入TXT文件实现密码信息的增删改查功能。文章详细描述了如何创建自定义列表存储密码信息,并在程序运行时对列表进行操作,最后将修改后的列表内容覆盖回TXT文件。此外,还提供了密码管理器的菜单界面和主要功能实现代码。
1918

被折叠的 条评论
为什么被折叠?



