python重模块替换文本文件中的二进制数据?

2024-04-26 02:27:22 发布

您现在位置:Python中文网/ 问答频道 /正文

我知道混合文本和二进制文件很糟糕,但我必须这么做。在

我想用字符串“XXXXXXXX”替换二进制内容,它是“content Type:image”和“---”

所以测试代码是:

# coding=utf-8
import re
raw_data = open('r_img.txt').read()
#data = re.sub(r"Content-Type: image.*?-----","Content-Type: imageXXXXXXX-----", raw_data, re.S)
data = re.sub(r"Content-Type: image[^-]*-----","Content-Type: imageXXXXXXX-----", raw_data, re.S)
print data

文件r_图像.txt将是:

^{pr2}$

我试过了字符串。替换()和re.sub公司,但我还是找不到答案。在


Tags: 文件字符串image文本retxt内容data
1条回答
网友
1楼 · 发布于 2024-04-26 02:27:22

这对我有用:

data = re.sub(r"Content-Type: image.*  -","Content-Type: imageXXXXXXX  -", 
              raw_data, 0, re.DOTALL)

本质上,它以贪婪的方式匹配Content-Type: image和{}之间的所有字符。0表示“匹配此模式的所有匹配项”。可能这对您来说是多余的,但是您不能跳过它,因为您还想使用标记re.DOTALL,该标志修改了“any characters”的含义,以包含新行。在

啊!在

相关问题 更多 >