密码管理器中如何在view()函数打开add()创建的文件?附代码
密码管理器view函数的正确实现方法
你的代码已经在view函数中正确打开了add函数创建的passwords.txt文件,但存在几个需要修正和优化的点:add函数有拼写错误,view函数仅读取内容却未输出,且未处理文件不存在的异常情况。以下是完善后的实现方案:
核心修正与优化
- 修正拼写错误:原add函数中
'passwor : '是笔误,需改为'password : ',避免存储的信息出现错误。 - 补充view函数的输出逻辑:
l.read()只是获取文件内容但不会显示,需要将内容打印出来;同时处理文件未创建的场景(比如还未执行过add操作时),防止程序报错。 - 提升输入兼容性:对用户输入的指令做格式处理,支持大小写、带空格的输入,更符合使用习惯。
修正后的完整代码
def add(): username = input('enter your username : ') password = input('enter your password : ') # 修正拼写错误,用f-string简化字符串拼接 with open('passwords.txt', 'a') as f: f.write(f'username : {username} , password : {password}\n') def view(): try: with open('passwords.txt', 'r') as f: content = f.read() if content: print(content) else: print('暂无存储的密码信息') except FileNotFoundError: print('还未添加过任何密码,请先执行添加操作!') while True: mode = input('do you want to view the password or add a new password ? ') # 处理输入的大小写和空格,提升兼容性 mode_clean = mode.strip().lower() if mode_clean == 'view': view() elif mode_clean == 'add': add() else: print('输入无效,请输入"view"或"add"') continue
代码说明
- add函数:使用f-string拼接字符串更简洁直观,同时修正了密码字段的拼写错误,确保存储信息准确。
- view函数:通过
try-except捕获文件不存在的异常,给出友好提示;读取内容后判断是否为空,分别反馈对应信息,有内容时直接打印展示。 - 主循环:对用户输入做去空格和小写转换,允许
View、add这类不标准指令,提升使用体验。
内容的提问来源于stack exchange,提问作者ganesh murthy
相关产品推荐
相关产品推荐

