密码管理器搜索未保存数据时未弹出无数据提示框问题
修复密码管理器搜索未保存数据时的提示问题
你的代码问题在于:仅处理了文件不存在的场景,但当数据文件存在、只是要搜索的网站未被保存时,没有对应的提示逻辑,导致此时没有任何弹窗反馈。
原代码的else块里只判断了website in data的情况,缺少对“网站不存在”的处理分支。只需要在这个判断后添加else分支,弹出对应的提示即可:
def find_password(): website = website_entry.get() try: with open("data.json") as data_file: data = json.load(data_file) except FileNotFoundError: messagebox.showinfo(title="Error", message="No Data") else: if website in data: email = data[website]["email"] password = data[website]["password"] messagebox.showinfo(title=website, message=f"Email: {email}\nPassword: {password}") # 新增:处理网站未保存的情况 else: messagebox.showinfo(title="Error", message="No Data")
这样修改后,不管是文件不存在,还是文件存在但目标网站未保存,都会弹出“No Data”提示框,符合预期功能。
内容的提问来源于stack exchange,提问作者Trevon
相关产品推荐
相关产品推荐

