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

如何正确读取含b-string格式的TXT文件,还原原始二进制字符串?

解决方案

你的TXT文件实际存储的是二进制对象的字符串表示(即repr(b'xxx')的输出结果),而非原始二进制数据,所以直接读取会保留外层的b''和转义字符。要还原成目标二进制对象,可按以下步骤处理:

  1. 用文本模式读取文件内容,去除多余的首尾空白/换行
  2. 使用ast.literal_eval安全解析字符串,还原为真实的bytes对象

示例代码

import ast

with open('raw2.txt', 'r') as f:
    # 读取文件内容并清理首尾的空白、换行符
    content = f.read().strip()
    # 解析字符串为真实的bytes对象
    target_bytes = ast.literal_eval(content)

执行后,target_bytes的值就是你需要的b'111\r\n222\r\n333'。

注意事项

  • 不要使用eval()代替ast.literal_eval():eval()会执行任意代码,存在安全风险;ast.literal_eval()仅解析Python字面量(如bytes、字符串、列表等),安全性更高。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 08:05:12