用python实现的网址账号密码管理程序
程序员文章站
2022-07-16 15:37:03
...
本人最近开始学习python,学习了基础知识后写了些小程序来巩固知识点。这里分享的是一个用python实现的网址账号密码管理程序,实现了接收用户输入,将信息写入文件和查询已录入信息等功能,用到了python中的,字符串、列表、字典和函数等基础知识。
欢迎各路大神吐槽~~~
#引入包
import os
#import sys
#获取程序所在路径
path = os.getcwd()
if not os.path.exists(path + '\\siteinfos.txt'):
txt = open(path + '\\siteinfos.txt','w')
#打开path下的文件,读写模式:w+,文件不存在会自动创建
txt = open(path + '\\siteinfos.txt')
temp = txt.read()
txt.close()
if temp != '':
temp = eval(temp)
#输出当前文件的内容
print('当前文件的内容如下:')
print(temp)
else:
temp = []
print('当前文件中没有内容!')
#sys.exit()
#定义一个列表,列表中的每一项存放一个字典,字典中按定义的项(网址、用户名和密码等)存放网站信息
#获取一个列表(新建或读取)
#temp = ["{'web':'www.jd.com','name':'zsc','passwd':'qaz'}","{'web':'www.baidu.com','name':'zsc','passwd':'qaz'}", "{'web':'www.taobao.com','name':'zsc','passwd':'qaz'}" ]
#定义一个检查函数,检查网址web是否已存在有记录?
def checkrecord(web):
#定义一个布尔变量,存放检查结果
isIn = False
#遍历列表中的字典,查看网址web是否存在
for i in range(len(temp)):
#将列表的每一项格式化成字典后判断用户是否存在
if eval(temp[i - 1]).get('web', 0) == web:
#如果存在,isIn为True,且退出检查
isIn = True
break
else:
#如果为假,isIn为False,继续检查
isIn = False
if isIn:
#网址已存在,返回True
return True
else:
#用户不存在,返回False
return False
#定义一个展示函数,展示网址web下的所有记录
def showrecord(web):
#遍历列表中的字典,查看网址web是否存在
for i in range(len(temp)):
#将列表的每一项格式化成字典后判断用户是否存在
if web in eval(temp[i - 1]).values():
#存在则输出该条记录
print(temp[i - 1])
#定义一个创建函数,将新记录添加到列表
def newtable(web,name,passwd):
#用try...except函数捕捉异常,提高用户体验
try:
#获取列表的长度,用于插入时定位下标
changdu = len(temp)
#拼成字典
temp_dic = "{'web':'" + web + "','name':'" + name + "','passwd':'" + passwd + "'}"
#用列表的insert()方法添加值
temp.insert(changdu + 1, temp_dic)
except:
#添加过程中中遇到异常时输出异常
#print('添加遇到未知错误!')
#返回False
return False
else:
#添加成功了
#print('添加成功!')
#返回True
txt = open(path + '\\siteinfos.txt','w+')
txt.write(str(temp))
txt.close()
#print('Bir database updated.')
return True
while True:
try:
web = input('请输入网址:')
if web != '':
if checkrecord(web):
print('网址已存在!')
#显示当前列表中已存在的该网站的账号
showrecord(web)
goon = input('是否继续添加该网站的用户?[y/n](default:y)')
if goon == '' or goon == 'y':
name = input('请输入账号 :')
passwd = input('请输入密码 :')
if name != '' and passwd != '':
if newtable(web,name,passwd):
#提示添加成功
print('添加成功!')
#显示当前列表中已存在的该网站的账号
showrecord(web)
#提示是否继续添加
goon = input('是否继续添加?[y/n](default:y)')
if goon != '' and goon != 'y':
print('再见!')
break
else:
print('添加失败!')
elif name != '' or passwd != '':
print('网址、账号或密码不能为空!')
else:
print('再见!')
break
else:
print('再见!')
break
else:
name = input('请输入账号 :')
passwd = input('请输入密码 :')
if name != '' and passwd != '':
if newtable(web,name,passwd):
#提示添加成功
print('添加成功!')
#显示当前列表中已存在的该网站的账号
showrecord(web)
#提示是否继续添加
goon = input('是否继续添加?[y/n](default:y)')
if goon != '' and goon != 'y':
print('再见!')
break
else:
print('添加失败!')
elif name != '' or passwd != '':
print('网址、账号或密码不能为空!')
except KeyboardInterrupt:
print('Byte!')
break
测试截图:
上一篇: MySQL字符串函数
下一篇: buu reverse xor