了解IT技术
老九你最好的选择

[python]制作密码薄,完成增删改查和文件存储功能。

题目:
1)用文本编辑器编写一个密码簿文本文件,每一行格式为:姓名,密码
2)编写Python代码,提示:输入文件名,输入文件名后提示:查找,增加,删除,修改,保存
3)选择查找,输入姓名,提示“不存在”或者“行号”
4)选择增加,输入姓名,输入密码,如果姓名重复,则提示
5)选择删除,输入姓名,如果姓名不存在,则提示
6)选择修改,输入姓名,输入修改密码,如果姓名不存在,则提示,验证新旧密码是否重复
7)选择保存,保存以上修改内容
8)提供退出选项
要求:
1. 有足够的测试用例
2. 增删改查可以任意重复执行

逻辑:
如果没有文件那就自动的生成txt文件,在读取。如果有就直接跳过,执行增删改查和文件存储功能。
在每次文件启动前就读取某个txt文件里面存储的内容,放入到空列表和空字符串里面,这样实现增删改查,在运行py文件的时候并没有对txt文件内容进行操作,而是对自定义的列表和字符串中的内容操作,当用户输入后,再把修改添加过的列表覆盖到txt文件里面。

代码:

def print_menu():
    #选择
    try:
        print("1.查询   2.增加  3.删除  4.修改  5.退出")
        global a
        a=int(input("请输入要选择的功能:")) 
        if a==1:
            select_info()       
        elif a==2:
            add_info()
        elif a==3:
            del_info()
        elif a==4:
            recover_info()
        elif a==5:
            a=5
        else:
            print('\n输入错误')
            print_menu()
    except ValueError:
        print('\n输入错误')
        print_menu()

def select_info():
    #查找
    name=input("请输入要查找的名字:")
    for i in range(len(c)):
        d = c[i].split(':')
        if name == d[0]:
            print('{0}---在第{1}行\n'.format(c[i],i+1))
            break      
    else:
        print('此人不存在\n')
 
def add_info():
    #添加
    name=input("请输入名字:")
    if name not in b:
        mima=input("请输入密码:")
        print('存储成功\n')
        with open(filename,'a') as f:
            f.write('{0}:{0}\n'.format(name,mima))
    else:
        print('改名字已存在\n')
 
def del_info():
    #删除
    name=input("请输入要删除的名字:")
    if name in b:
        d = []
        for i in c:
            if name not in i:
                d.append(i)
                with open(filename,'w') as f:
                    f.writelines('{0}\n'.format(''.join(d)))
        print('已删除\n')
    else:
        print('此人不存在\n')
 
def recover_info():
    #修改
    name = input("请输入要修改密码的用户:")
    if name in b:
        mima = input("请输入新密码:")
        e = name + ':' + mima
        d = ''
        for i in c:
            if name in i:
                d=b.replace(i,e)
                with open(filename,'w') as f:
                    f.write('{0}'.format(d))
        print('已修改\n')
    else:
        print('此人不存在\n')
 
def main():
    #打印
    try:
        while a != 5:
            with open(filename) as f:
                lines = f.read()
                global b,c
                b = lines
                c = lines.split()
            print("欢迎使用密码薄存储密码")
            print_menu()
    except FileNotFoundError:
        with open(filename,'w') as f:
            f.write('')
        print('TXT文件创建成功')
        main()
a=0
b=''
c=[]
filename = input('输入txt文档:')
main()

输出

Python 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 22:45:29) [MSC v.1916 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license()" for more information.
>>> 
============= RESTART: C:\Users\Administrator\Desktop\123\mimab.py =============
输入txt文档:mima.txt
欢迎使用密码薄存储密码
1.查询   2.增加  3.删除  4.修改  5.退出
请输入要选择的功能:1
请输入要查找的名字:李四
李四:123654789---在第2行

欢迎使用密码薄存储密码
1.查询   2.增加  3.删除  4.修改  5.退出
请输入要选择的功能:2
请输入名字:张三
改名字已存在

欢迎使用密码薄存储密码
1.查询   2.增加  3.删除  4.修改  5.退出
请输入要选择的功能:2
请输入名字:王五
请输入密码:123654
存储成功

欢迎使用密码薄存储密码
1.查询   2.增加  3.删除  4.修改  5.退出
请输入要选择的功能:1
请输入要查找的名字:王五
王五:王五---在第3行

欢迎使用密码薄存储密码
1.查询   2.增加  3.删除  4.修改  5.退出
请输入要选择的功能:3
请输入要删除的名字:李四
已删除

欢迎使用密码薄存储密码
1.查询   2.增加  3.删除  4.修改  5.退出
请输入要选择的功能:1
请输入要查找的名字:李四
此人不存在

欢迎使用密码薄存储密码
1.查询   2.增加  3.删除  4.修改  5.退出
请输入要选择的功能:4
请输入要修改密码的用户:王五
请输入新密码:369852147
已修改

欢迎使用密码薄存储密码
1.查询   2.增加  3.删除  4.修改  5.退出
请输入要选择的功能:1
请输入要查找的名字:王五
王五:369852147---在第1行

欢迎使用密码薄存储密码
1.查询   2.增加  3.删除  4.修改  5.退出
请输入要选择的功能:5
>>> 

赞(3) 打赏
未经允许不得转载:老九IT技术网 » [python]制作密码薄,完成增删改查和文件存储功能。

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

老九为IT技术人提供最全面的IT资讯和交流互动

欢迎投稿广告合作

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏