如何在编码的降价文件中查找和替换?

2024-06-16 14:32:43 发布

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

我有一个脚本从github中提取一个降价文件。然后我解码文件,用用户给定的输入查找并替换该文件中的参数。在

tempdict = {'key_1': 'input_1', 'key 2','input_2'}

它运行得很好,直到我意识到它缺少了一些实例。我意识到文本是以256字节大小的块读取的,如果我的“key”在这个块的末尾,那么它将位于rawtext的另一行,我的find and replace函数将错过它。如何避免这个错误?在

代码如下:

^{pr2}$

下面是Psuedo降价文件。在

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus pharetra, 
urna ullamcorper congue aliquet, leo nulla facilisis ipsum, tincidunt 
suscipit eros erat tempor orci. Sed porttitor convallis ligula, a pharetra 
nisl rhoncus sit key_1. Maecenas consequat sem nec urna mattis, non ornare 
risus fermentum. Nam consectetur volutpat felis sed blandit. Etiam eu 
sollicitudin diam, eu euismod diam. Fusce diam libero, sagittis varius elit 
nec, ultricies key_2 est. Sed nibh purus, tincidunt eu fringilla ut, 
ultrices et orci.

每当我试图使用rawtext.textrawtext.iter_items()时,它都不会保持降价格式。另外,我将tempdict中的项替换为rep,因为rawtext在每个下划线之前都添加了\\。在


Tags: 文件keyinput降价意识ipsumeusit
1条回答
网友
1楼 · 发布于 2024-06-16 14:32:43

您的问题是,您正在检查列表的每个部分是否匹配,这意味着如果一个匹配项在两个列表项中,那么它将不匹配。不是创建一个列表,而是创建一个字符串,按新行拆分(假设您没有尝试匹配任何新行),然后对新列表执行检查。在

decodedtext = ""
for line in rawtext:
    decodedtext += line.decode("utf-8")
...
for line in decodedtext.split("\n"):

相关问题 更多 >