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

如何将XOR加密后的单个字符合并为字符串并完整写入文件?

问题分析

你的代码里newletter变量会在每次循环时被新的加密字符覆盖,导致最后写入文件的只有最后一次循环生成的字符。要解决这个问题,需要先把所有加密后的字符合并成完整字符串,再写入文件。

修正后的代码
key = 7
encrypted_text = ""  # 初始化空字符串存储所有加密字符

# 使用with语句自动管理文件,无需手动调用close
with open('enprac.txt', 'r') as file:
    for line in file:
        words = line.split()
        for char in words:
            for letter in char:
                number = ord(letter)
                newnumber = number ^ key
                newletter = chr(newnumber)
                encrypted_text += newletter  # 将每个加密字符追加到字符串中
                print(newletter)

# 写入完整的加密字符串到目标文件
with open('decrypt.txt', 'w') as file2:
    file2.write(encrypted_text)
关键修改点
  • 新增encrypted_text变量,用来累加所有加密后的字符,避免单个变量被循环覆盖。
  • 用with语句操作文件,Python会在代码块结束后自动关闭文件,比手动调用close()更安全,也更简洁。
  • 最后一次性将完整的encrypted_text写入文件,确保所有加密内容都被保存。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 22:35:21