You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

密码管理器中如何在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

代码说明

  1. add函数:使用f-string拼接字符串更简洁直观,同时修正了密码字段的拼写错误,确保存储信息准确。
  2. view函数:通过try-except捕获文件不存在的异常,给出友好提示;读取内容后判断是否为空,分别反馈对应信息,有内容时直接打印展示。
  3. 主循环:对用户输入做去空格和小写转换,允许View、add这类不标准指令,提升使用体验。

内容的提问来源于stack exchange,提问作者ganesh murthy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 02:35:48