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

Python如何解密文件内加密字节并存储为字符串格式列表

功能实现代码

你只需要在view判断的代码块中添加按行读取、逐行解密的逻辑即可,完整补全后的代码如下:

elif menuchoice == "crypt":
    os.system('cls')
    while True:
        chooseyourscore = input("          >>> ")
        if chooseyourscore == "view":
            decrypted_list = []
            # 二进制模式读取所有加密行
            with open("crypted.txt", "rb") as f:
                encrypted_lines = f.readlines()
            for line in encrypted_lines:
                # 移除每行末尾的换行字节
                encrypted_content = line.rstrip(b'\n')
                # 跳过空行避免解密报错
                if not encrypted_content:
                    continue
                # 解密后转为字符串存入列表
                decrypted_str = crypter.decrypt(encrypted_content).decode()
                decrypted_list.append(decrypted_str)
            # 后续可自行处理decrypted_list,比如打印输出验证
            print(decrypted_list)
        else:
            # 原存储逻辑优化,无需两次打开文件
            encrypted_data = crypter.encrypt(chooseyourscore.encode()) + b'\n'
            with open("crypted.txt", "ab") as encryption:
                encryption.write(encrypted_data)
            continue

注意事项

  • 上述实现默认你使用的是cryptography库的Fernet加密方案,如果你用的是自定义加密逻辑,只需要对应修改解密和解码的代码即可
  • 用with语句操作文件可以自动处理文件关闭,避免出现文件句柄泄漏的问题
  • 存储时直接把加密后的字节和换行字节b'\n'拼接后一次性写入,比两次打开文件写入效率更高,也避免不同模式写入可能出现的编码冲突

内容的提问来源于stack exchange,提问作者S. Stashevski

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 16:36:03