gpt4 book ai didi

python - 获取同一文件的多个随机损坏副本的 "average"

转载 作者:太空宇宙 更新时间:2023-11-03 15:44:52 27 4
gpt4 key购买 nike

由于 Controller 损坏,文件在从 USB 闪存驱动器下载时会随机损坏。我下载了同一个文件的多个副本,每个副本的错误似乎通常是唯一且随机的。

因此,我需要一个脚本来比较同一文件的几个(3 到 5 个)损坏的副本(每个副本的大小约为 100 Mb),并为每个字节“投票”以获得正确的值,然后将其附加到输出文件。

有没有一种在 Python 3 中快速简便地实现它的方法?

最佳答案

将字节流压缩在一起,并使用计数器在每个位置获取共识字节。

from functools import partial
from collections import Counter
from contextlib import ExitStack
from mmap import mmap, PROT_READ

fnames = ["t1.txt", "t2.txt"]

with ExitStack() as stack:
fhs = [stack.enter_context(open(f, 'rb')) for f in fnames]
out = stack.enter_context(open("fixed", 'wb'))
streams = [mmap(f.fileno(), 0, prot=PROT_READ) for f in fhs]
for bs in zip(*streams):
c = Counter(bs)
out.write(c.most_common(1)[0][0])

关于python - 获取同一文件的多个随机损坏副本的 "average",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50574021/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com