Python-制作一個"密碼薄",其可以存儲一個網址(例如 www.itcast.cn),和一個密碼(例如 123456),請編寫程序完成這個“密碼薄”的增刪改查功能,並且實現文件存儲功能


復習python文件操作,看着這樣的一個題目(制作一個"密碼薄",其可以存儲一個網址(例如 www.itcast.cn),和一個密碼(例如 123456),請編寫程序完成這個“密碼薄”的增刪改查功能,並且實現文件存儲功能),於是寫了一下實現代碼,如下:

import os


# 添加網址、密碼
def add_url_pwd():
    f = open("url_test.txt", "a+", encoding="utf8")
    url1 = input("請輸入新的網址:")
    password1 = input("請輸入新的密碼:")
    if os.path.getsize("url_test.txt") != 0:    # 判斷文件是否為空,若為空則不空一行,否則換行
        url_pwd = "\n" + url1 + "\t" + password1
    else:
        url_pwd = url1 + "\t" + password1
    # url_pwd = url1 + "\t" + password1 + "\n"
    f.writelines(url_pwd)
    print("新網址和密碼已成功寫入密碼簿")
    f.close()


# 修改網址、密碼
def update_url_pwd():
    f = open("url_test.txt", "r+", encoding="utf8")
    url1 = input("請輸入要修改的網址:")
    password1 = input("請輸入要修改的密碼:")
    old_l = url1 + "\t" + password1
    all_data = ""
    for l1 in f.readlines():
        # print("輸出:" + l1)
        if old_l in l1:
            print("請確認修改前的網址和密碼:%s" % l1)
            new_url = input("請輸入修改后的網址:")
            new_password = input("請輸入修改后的密碼:")
            new_l = new_url + "\t" + new_password
            l1 = l1.replace(old_l, new_l)
            print("網址或密碼修改成功")
        all_data += l1
    f.close()
    f = open("url_test.txt", "w+", encoding="utf8")
    f.writelines(all_data)
    f.close()


# 輸出/查找所有的網址、密碼
def select_url_pwd():
    f = open("url_test.txt", "r")
    print("密碼簿中所有的網址和密碼如下:")
    print(f.read())
    # for select_data in f.readlines():
    #     print(select_data, end="")
    f.close()


# 根據網址、密碼查找
def search_url_pwd(flag_one):
    f = open("url_test.txt", "r", encoding="utf8")
    all_data = ""
    if flag_one == 0:
        url1 = input("請輸入要查找的網址:")
        for select_data in f.readlines():
            data_list = select_data.split("\t")
            if url1 == data_list[0]:
                all_data += select_data
                print("查找出來的網址和密碼是:%s" % select_data, end="")
        if len(all_data) == 0:
            print("沒有你要查詢的網址")

    if flag_one == 1:
        password1 = input("請輸入要查找的密碼:")
        for select_data in f.readlines():
            data_list = select_data.split("\t")
            if (password1 == data_list[1]) or (password1+'\n' == data_list[1]):
                all_data += select_data
                print("查找出來的網址和密碼是:%s" % select_data, end="")
        if len(all_data) == 0:
            print("沒有你要查詢的密碼")
    f.close()


# 根據網址來刪除密碼簿中的網址和密碼記錄
def delete_url_pwd():
    f = open("url_test.txt", "r+", encoding="utf8")
    url1 = input("請輸入你要刪除的網址(注意:密碼也會一起被刪除):")
    all_data = ""
    flag = 0
    for select_data in f.readlines():
        data_list = select_data.split("\t")
        if url1 != data_list[0]:
            all_data += select_data
        if url1 == data_list[0]:
            flag += 1
    f.close()
    f = open("url_test.txt", "w+", encoding="utf-8")
    f.write(all_data)
    if flag == 0:
        print("沒有你要刪除的網址")
    else:
        print("刪除成功")
    f.close()


if __name__ == "__main__":
    operation = input("輸入(0~5)的數字進行操作:\n"
                      "***添加網址密碼到密碼簿請輸入0 ***\n"
                      "***修改密碼簿請輸入1 ***\n"
                      "***查詢所有的密碼簿請輸入2 ***\n"
                      "***按網址查詢請輸入3 ***\n"
                      "***按密碼查詢請輸入4 ***\n"
                      "***刪除網址對應的密碼簿請輸入5 ***\n"
                      "請輸入您要進行的操作:")
    if operation == '0':    # 添加新的網址、密碼
        add_url_pwd()
    elif operation == '1':   # 修改網址、密碼
        update_url_pwd()
    elif operation == '2':    # 查詢密碼簿所有網址、密碼
        select_url_pwd()
    elif operation == '3':   # 根據網址查詢
        search_url_pwd(0)
    elif operation == '4':   # 根據密碼查詢
        search_url_pwd(1)
    elif operation == '5':   # 刪除對應的網址、密碼
        delete_url_pwd()
    else:
        print("請輸入0~5之間的數字")

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM